{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# <div align=center>回归分析方法</div>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy import linspace, polyval, polyfit, sqrt, stats, randn, optimize\n",
    "import statsmodels.api as sm\n",
    "import matplotlib.pyplot as plt\n",
    "import time\n",
    "import numpy as np\n",
    "from sklearn.linear_model import LinearRegression\n",
    "import pandas as pd\n",
    "\n",
    "import warnings\n",
    " \n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>sex</th>\n",
       "      <th>bmi</th>\n",
       "      <th>children</th>\n",
       "      <th>smoker</th>\n",
       "      <th>region</th>\n",
       "      <th>charges</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1328</th>\n",
       "      <td>23</td>\n",
       "      <td>female</td>\n",
       "      <td>24.225</td>\n",
       "      <td>2</td>\n",
       "      <td>no</td>\n",
       "      <td>northeast</td>\n",
       "      <td>22395.74424</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1329</th>\n",
       "      <td>52</td>\n",
       "      <td>male</td>\n",
       "      <td>38.600</td>\n",
       "      <td>2</td>\n",
       "      <td>no</td>\n",
       "      <td>southwest</td>\n",
       "      <td>10325.20600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1330</th>\n",
       "      <td>57</td>\n",
       "      <td>female</td>\n",
       "      <td>25.740</td>\n",
       "      <td>2</td>\n",
       "      <td>no</td>\n",
       "      <td>southeast</td>\n",
       "      <td>12629.16560</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1331</th>\n",
       "      <td>23</td>\n",
       "      <td>female</td>\n",
       "      <td>33.400</td>\n",
       "      <td>0</td>\n",
       "      <td>no</td>\n",
       "      <td>southwest</td>\n",
       "      <td>10795.93733</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1332</th>\n",
       "      <td>52</td>\n",
       "      <td>female</td>\n",
       "      <td>44.700</td>\n",
       "      <td>3</td>\n",
       "      <td>no</td>\n",
       "      <td>southwest</td>\n",
       "      <td>11411.68500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1333</th>\n",
       "      <td>50</td>\n",
       "      <td>male</td>\n",
       "      <td>30.970</td>\n",
       "      <td>3</td>\n",
       "      <td>no</td>\n",
       "      <td>northwest</td>\n",
       "      <td>10600.54830</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1334</th>\n",
       "      <td>18</td>\n",
       "      <td>female</td>\n",
       "      <td>31.920</td>\n",
       "      <td>0</td>\n",
       "      <td>no</td>\n",
       "      <td>northeast</td>\n",
       "      <td>2205.98080</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1335</th>\n",
       "      <td>18</td>\n",
       "      <td>female</td>\n",
       "      <td>36.850</td>\n",
       "      <td>0</td>\n",
       "      <td>no</td>\n",
       "      <td>southeast</td>\n",
       "      <td>1629.83350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1336</th>\n",
       "      <td>21</td>\n",
       "      <td>female</td>\n",
       "      <td>25.800</td>\n",
       "      <td>0</td>\n",
       "      <td>no</td>\n",
       "      <td>southwest</td>\n",
       "      <td>2007.94500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1337</th>\n",
       "      <td>61</td>\n",
       "      <td>female</td>\n",
       "      <td>29.070</td>\n",
       "      <td>0</td>\n",
       "      <td>yes</td>\n",
       "      <td>northwest</td>\n",
       "      <td>29141.36030</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      age     sex     bmi  children smoker     region      charges\n",
       "1328   23  female  24.225         2     no  northeast  22395.74424\n",
       "1329   52    male  38.600         2     no  southwest  10325.20600\n",
       "1330   57  female  25.740         2     no  southeast  12629.16560\n",
       "1331   23  female  33.400         0     no  southwest  10795.93733\n",
       "1332   52  female  44.700         3     no  southwest  11411.68500\n",
       "1333   50    male  30.970         3     no  northwest  10600.54830\n",
       "1334   18  female  31.920         0     no  northeast   2205.98080\n",
       "1335   18  female  36.850         0     no  southeast   1629.83350\n",
       "1336   21  female  25.800         0     no  southwest   2007.94500\n",
       "1337   61  female  29.070         0    yes  northwest  29141.36030"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 读取保险数据 1337 X 7\n",
    "df_all_insur = pd.read_csv('~/Datasets/Statistics/insurance.csv')\n",
    "df_all_insur[-10:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 分成男/女两组\n",
    "grp_by_sex = df_all_insur.groupby(by='sex')\n",
    "grp_by_sex_to_dict = dict(list(grp_by_sex))\n",
    "df_male_insur = grp_by_sex_to_dict['male']\n",
    "df_female_insur = grp_by_sex_to_dict['female']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7efe30167eb8>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZAAAAEICAYAAABxiqLiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzsnXd4U2X7x79PVpN00VJWoWUPQZBRNrLBAYIyFH0FRBEF9aco+roVRH3dCIKKIFsQQQSRJXsIhbJB9i5QWsroSNus+/fH3TRN0yZpmnTxfK7rXG1OznPOfdL0uc9zT0FEkEgkEomksChKWgCJRCKRlE2kApFIJBKJV0gFIpFIJBKvkApEIpFIJF4hFYhEIpFIvEIqEIlEIpF4hVQgEolEIvEKqUAkEolE4hVSgUgkEonEK1QlLYA/iYiIoFq1apW0GBKJRFKm2Lt373UiquTuuHKtQGrVqoW4uLiSFkMikUjKFEKIC54cJ01YEolEIvEKqUAkEolE4hVSgUgkEonEK8q1D0QikUi8wWQyIT4+HpmZmSUtil/RarWoUaMG1Gq1V+OlApFIJJI8xMfHIzg4GLVq1YIQoqTF8QtEhOTkZMTHx6N27dpenUOasCSS8sqaNcBnnwFLlgCycVyhyMzMRMWKFcut8gAAIQQqVqxYpFWWXIFIJOWRN98EvvsOyMoCAgJYiSxcCJTjCdHXlGflYaOo9yhXIBJJeeP6deCbb4D0dMBs5p8rVwIHD5a0ZJJyhlQgEkl549YtIK9TVKUCbtwoGXkkfueBBx5ArVq1MHv27GK9rlQgEkl5o2ZNICwMUOT5927evGTkuQPYfH4zqn1VDaoJKrT8sSUu3r5YrNdfvXo1nnrqqWK9JiAViERS/lCrgc2bgaZNAY0GqFsX2LABCA8vacnKJZduX0LfX/oiIS0BFrLg4LWD6Dm3J6iIgQuvvPIKnnvuObRr1w6vvPIKOnbsiIULF6JTp05o3749nnzySZfXOH/+PO6//3507twZQ4YMgclkKpI8+SEViERSHqlbFzhwgJ3op08DrVqVtETlltjLsVAqlDmvrWTFhdsXcCOj6CbDu+++Gw0aNEDHjh0RERGBvn37Yvv27di5cyeuXLmCU6dOFTj29ddfx4QJE7B161bUqFEDS5YsKbI8eZEKRCKRSIpAhD4CVrI67CMiBAcEF/ncLVq0gEKhQOvWrSGEwJo1a9CzZ09069YNhw8fhsFgKHDskSNH8MYbb6Br167YvHkzrl+/XmR58iLDeCUSSenCaASOHwf0el5JlfJw2s41O6NLzS7YfH4zTFYTVAoVPu7+MTRKjc+vNXHiRCxZsgTR0dHo0aOHy2Pr1q2L8ePHo5UfV59+UyBCiDYAxgMIALAAwGEAXwJQAthJROOEEEoAkwHcnb1/NBEdzh7r0bH+kl8ikZQAly8DnTpxKLLFAtx3H+ewKJXux5YQCqHAisdXYNmxZbiUcgmtI1ujY3RHv1xrwIABGDJkCKpXrw6tVgsASEpKwuDBg3H+/HlotVps2bIFs2bNwmeffYYxY8ZAoVBArVZj0qRJaNy4sW8FIiKfbwCCAewEUCnXvgMAorN/Xw+gA4DHAHyfva8TgHWFPdbV1qpVK5JIJGWIXr2IlEoizp0n0uuJfvih2MX4999/i/2aJUV+9wogjjyY6/21ArkXgAbAHCFEMIAZAEwA0oQQMwEEAWgNoA6AlUKIfgBGA2gohAjz9Fg/yS6RSEqKI0d45WHDYAD27Ss5eSQu8ZcTPQSswR4EMADAhwAiAcwHm6EW5Dr2XQDNAfQDYM7eV5hjHRBCjBJCxAkh4pKSknx1PxKJpDi46y5Hc5VeD9xzT8nJI3GJvxTIKQA1s383AkgHkAZgJIBDAB4E8A+AvQD2E9EEADEAjhHRTU+Pze/CRDSdiGKIKKZSJbctfSUSSWli1iwgMhIIDmbl0bUrMGpUiYhCd0AByqLeo19MWES0VwhxXAjxD9gc9TIAArAs+/U6ItojhDgAoLcQYgt4RfF89ilGF+JYiURSXoiOBk6eZFOWXs8rkhKIwtJqtUhOTi7XFXkpu5y7zRnvDaI8a9mYmBiKi4sraTEkEkkZ405vKCWE2EtEMe7GyzwQiUQiyYNarfa6ydKdhMxEl0gkEolXSAUikUgkEq+QCkQikUgkXiEViEQikUi8QioQiUQikXiFVCASiUQi8QqpQCQSiUTiFVKBSCQSicQrpAKRSCQSiVdIBSKRSCQSr5AKRCKRSCReIRWIRCKRSLxCKhCJRCKReIVUIBKJRCLxCqlAJBKJROIVsh+IRCKR+JukJGD3biAsDGjXDlCUj2d3qUAkEonEn8TFAT168O8WC9C5M/Dnn4BSWbJy+YDyoQYlEomktPLEE0BKCm/p6cDWrcDChSUtlU+QCkQikUj8yeXLjq8zMoBz50pGFh8jFYhEIpH4k2bNHM1VWi0QE1Ny8vgQqUAk+bNyJX/xGzQAPv8cICppiSSSssnixUDt2oBOB6jVwNixwAMPlLRUPkE60SXObN0KPPooL7UBYPx4ViD//W/JyiWRlEWiooATJ4CrV4GQECA4uKQl8hlyBSJxZu5cu/IAAIMBmDmz5OSRSMo6CgVQvXq5Uh6AVCCS/AgMBIRw3KfVlowsEomk1CIViMSZF18EgoLsSkSvByZOLFmZJBJJqcNvPhAhRCaAXdkvvwVwGcCXAJQAdhLROCGEEsBkAHdn7x9NRIeFEG08PdZf8t/R1K8P7N0LfPstm6+GDQO6di1pqSQSiTsSEjjo5do1YMAAYOBAv17On070BCLqanshhDgAoB8RXRRCrBdCdAAQBUBBRF2EEJ0AfAWgN4DphThW4g/q1we++66kpZBIJJ5y/Tpwzz3AjRuA2Qz88Qdw4QLw6qt+u6Q/TVhmIcRWIcTvQohWAEwA0oQQMwEEAWgNoAOAlUKIfgDeAdBQCBHm6bH5XVQIMUoIESeEiEtKSvLj7UkkEkkuTpzg1Xr//sBvvxX/9Rct4mx3s5lfGwzARx/59ZJ+UyBEVI+IOgOYD2AigMjs3ycDWJDr0HcBNAfQD0D2nRfq2LzXnU5EMUQUU6lSJd/dkEQiKb0YjcDGjcDq1TyJFpWlS4Hu3YH77+ewdnecPQu0bg3Mnw+sWAE89RTw44/8HhEwdSrQpQsweDArGn+QlcW1tnJjMvnnWjaIyK8bgIEApgE4AVYMAsBq8KpiGIBp2ce1B7Ay+3ePj3W1tWrViiQSSTknNZWoWTOioCCikBCiypWJzp3z/nyLFhHp9UQ89fPv//zjesy77xIpFPYxAFFUFL/3/vv28wnBMl644L18BXHyJFFgoP36Oh3Rs896dSoAceTB/O6XFYgQorIQYpsQYn22AnkHwGgAywBsAzvG9wBYCCBECLEFvEoZm32KwhwrkUjuZD7/nJ/q09J49ZGcDDz/fNHOZzDYXxsMwJQprseYzc7VGmyrgUmT7OcjYjkXL/ZevoKoX59XYe3aAfXqAS+8wCsfP+IXJzoRJQK4N8/ujQDa5jnOBODJfMZ7fKxEIrnDOXGCzTc2LBbgzBnvz5c3B8oTnngCmDzZrij0emD0aP49Pd3xWKsVOH7ce/lc0aYNsHOnf86dDzIPRCKRFD+xsUDbtkDduhwlZDTa3zMagcOHWQl4UoPt3nt5wrYREAB06OC9bG+84Xg+vR546SX+/fx5ljs4GLj7buDIEd7ftCmwYQOHu7dsyXlT77zD7+WnkEJD+WdqKvDuu1w66LvvWLmUJTyxc5XVTfpAJJJSSH62+hEj+L3Ll4lq12Z/hk5HNGAAkdns+nwWC9HQoURqNVFAAFG7dkS3bxdNxmXLiHr0IHrgAaKtW3mf0UgUHW33dQhBFB5OdOuW63PVqePoG9HpiObMIcrKIrr7bpbZ5msZPtwz+VatYt/KjBksl4+Bhz6QEp/k/blJBSKRlEK+/ppIo3GcVPV6fq9XLyKl0nH/Dz94dt4bN4gSEoisVv/IfeKEo+IDiEJDiTZvdj1u1y6i4GB2ngcFEfXsyUpx3Tren/t8arVdISUlEc2cyVtiov18H37In4sQ/LNLF7uS/eUXorAwPk/v3kQ3b3p1q54qEFmNVyKRFC9arXM7V7Wafx454hiKajAA+/Z5dt6wMN/IVxChofYcCxsmk90cVRBt2wInT7LZrkIFNrkpFGyqy3s+2zkvXOCeITafyuuvc2vcqlWBjz+2h+caDFw1YvNmrvQ7cqR9zObN7JtZtaood+0S6QORSO404uOBceN4slm3rviv/9hjPNmpsp9f9Xrg/ff590aNHJWLXs/Z1aWBKlWAZ5+1FxsNDATuu88z+U6eZOf2nj32PJWaNR2rXgN83rAw4O23OaPcYODt9m1up2AwOPtUFAp+f9MmZ1/S5s1FumV3yBWIRHInceUKT3i3b/OT/sKFwA8/AEOHuh+bksK1lqKji1adOTwcOHgQ+PJLrtnUv7+9ZtPs2UDHjvaM6i5dgFGjvL+Wr5k8mRMMDx7ksNnHH3cftTV/Pt9DRgY7+KdMAQ4dAk6f5qKlaWn2Y4UAEhNZyed2qFss3Bo3PJybvB0/bl+9EAHt2wM3bwIajeOqJiTEd/eeH57YucrqJn0gEkkeJkwgUqkc7e7R0e7H/fwzkVbLNvzQUKLt2/0no8FAtHs30ZEj/vNnFCeVK5OTE33KFPaN5PWpBAQQZWQQTZzomJioUBB98AGf7+pVoq5d2X/SoAFRbCzvz8ggatqUzxkQwNdZvtwrkSF9IBKJxAmDwdnunpnpeszp05yUlvu4vn35Sdnmu/AlOh2XBSkv5E5KBNi0lJLCORuDBgFLlvB+IuCbb3h1d+OG48pGCE6QBNgPsmmT83W0WmD3buDXX3l89+5+N/9JBSKR3EkMGuSc8DZsmOsx//7LiiK3vT4ri81PNWr4T9byQr9+wO+/2xWwRsM90YUAZs1i8+HFi0CLFkDz5nzMnj2OwQQWCzvL3aHVAsOH+/4eCkAqkJLk2DHg3DmgSRN2qJUV/voLWLMGqFaNn0zdRaFISg+tWgHLlwOvvcZJbEOGuK/YWqdO/tFCslipZ8yYwQEDf/3FPonvvmNlAbAS6dHDeUzTpryasGXYazS8r5Qh2NxVPomJiaG4uLiSFiN/PvyQa+5oNBySN2MGO+RKO5MmcYatwcCy16jBDsWgoJKWTOILrl7laKEKFTirWpEdqDl+PPDZZ/bv64IFwMMPl6ioDly5AsydyxPuwIGcJV6WuX2bw33PnePX0dHAjh38dykGhBB7iSjG7XFSgZQAx47xk2Buk4BWyzbO3CUUSiNBQY61fQIDuWBbMS6bJX4iNhbo1Yufiq1W9kOsW2cPtz15kk0tjRsDkZElK2tuLl5k009aGpt6tFpg7VqgUyfX4ywW9j+cPw/07Mn/k6UJkwk4cIB9Iy1a+MffVACeKhCZB1ISnD/v/GVQKtmmXJohcixaB/BEk7dYXGnl22954qtWDfjkE8/qLN1JDB3KZq2UFJ6Md+8G5s2zv9+gAU+0pUl5AMAXX7DMJhN/Hw0GNtG5wmJhk9CQIcCbb7Ky/PLL4pHXU9RqlqtNm2JVHoVBKpCSoHFjZ5uySgVUr14y8niKEBx9kzsHQKEAepeBzsLz5nFy1tWrnMvw8cd+L3Vd5rhyxfG1wcBP96WJ06d5dWEz7QAccZS3kdLt267PM20aWwJsEHERRflQUSikAikJatYEZs7kiTgwkO2aq1axfbm0s2ABVw6tWpWf4Nau5d4DpZ358517PCxYUPDxdyKtWtnNVQCH07ZpU/Tz+qrC7LffAs2acSZ7kyb8PwTw67zVcx991PW58iuPQsQrMInneJIsUla3Up9ImJ5OdPYsV+WU+JfHHuPic7mTtu67r6Sl8hyLhSgtzfPjMzKI3nyTE85eeMF9xVgioitXiBo35iQ0tZpo/Hjv5SXi73aTJvy5V6xItGaN9+e6eJETGXP//bRaouvX+f0ffySqWpWv8+qr7iv4zpjheC5bsl55SFz0AZDVeMuAApEUH0ePcuauUskTRWAgUVxcSUvlGb/8wlnFSiVR/fpEZ864Pt5q5YqvOh3lZDffdZdnDypWK1eBNRiKJrPVSlS3rmM2tV7vfavZ7ds5Az73hB8SQnTggPuxt29z1vfZs47yderkqDxmz/ZOtnKIpwpEmrDKC0lJbMMdOhT47beSlqb00bgxsH8/hyC//TZXNvU06iYriyPkqATs40ePAs88wxF7Fgv7AB54wPWY+Hhg+3Z7lF9WFu/bs8f1uPR0dirXrs2NnpYu9V7umzeBS5cczVcqFTvmvaF+fXsFWhtWK8sK8Gezbx+HIOfOmN+zh0Nge/fm78Crr/J+IYCtW4EtW7ge2KlTMpLQGzzRMmV1u2NWIDdvElWrZq9xpNcT/e9/JS1V+eCrr9ico9EQNWzIppTi5PvvnU1vQrheIVy4YF992LbgYKJt21xf67HH7M2NbDWbbHWWCovRyJ9bXpPTpk3enY+I6I8/+LsdGMg1udat4/0ZGUQdO/L+4GCimjW5MRURUfXqjjIEBhJt2OC9DHcIkCuQO4glSzjqxBbZZTC4zy6WuGfrVuC99/jJ12jkp/8BA4pXhosXnVc+RI7O7rxERfHqyhYtp1ZzKXJ39aVWrnQM087I4IoD3qBSOffnMJmAWrW8Ox/AVXuTkjhxNTGRc1YADr/dt49XUKmpXLV29GheleSNLPNnP/I7EKlAygOZmc6RLvmVnpAUjt27Hc0mFgtPXsVJ48bOzZeEcG1OE4Kj40aN4iiqJ54Adu3iUuKuyJvjA3BjI2+4eRO4dctxX2CgezOaO/R6Nq/pdPZ9hw87JuWazWz6UypZmeZGoeDPVOITpAIpD/Tp4zjJ6HRcNE9SNKKinEOri7v+0333OSeRde/uPuRbr+ew19hY7rFRsaLj+zduOPso8ioqgFcu3hAc7JybYTA4y+ELWrd2DOPVaOz+rT/+4B4aISG8InvpJS7RIvEJUoGUB2rX5s5j7dpx4buRI+0x8hLvGTQI6NyZy7eEhPAT9C+/FK8Mly457yuKCYaIJ9Fq1YCGDTmfIiGB32vUyLGEuF5vrw5bWIRwbrRE5H4V5A0vv8xK1ZZXVb8+JwoCXALk4kX+/zh1Cvj0U99f/w5GVuMtL8TEcASKxDsOHGCTVY0a9lLbSiX7BbZs4Sistm0dTSJWK5t4dDpOrPSEPXs4Cz4jg01Mtk58BXHwoPPK4OpVfpr3pm7a4sVcQtzW+vT0aeDJJ4H167mPROfObBI1mViBDh5c+GsA7JNT5Hk+1enYP+Fr1GpgxQr+W2RlcWJr7s8sMNBe/VbiU6QCkZQ/TCa2wUdEOE9i+TFrFjBmDCsEhYIVyNKlrEQUCqBbN+cxSUlsCjl/nk01gwcDc+a4vt6BAzzGlhG/fTv/7qqdbJ06zvtCQhx9AIVhzx7H2mVmM4c3A7wiOXeO+3+EhvKTvLeEh/Pnn9uJbbX6byIXomgOeolX+M2EJYR4UQhhFkLUEkK0EUJsFULsEEJ8mf2+UggxVQixRQixXQjRNHu/x8cWK5cucd/hoCB2wh04UOwi+Byzmfthjx4NTJ/ubLMuiyxbxqVhoqN5VZBfyYrcmM3As8/yU7fRyD9XrGCThyueeYZNIgYDP/X+/jvw88+ux0yb5lxO5X//cz2mSxfOT9DreVIPCuKoO5t5KDGRy7QsWsQFBd1Rr57jyiXvxKvX82rWU+VBxK0JKlRg+d58kxWFEFzJt3p19klotWxWLYpSkpQ+PIn1LewGoDaAtQC2AqgF4ACA6Oz31gPoAOAxAN9n7+sEYF327x4f627zWR6I2UxUpw5nAtviyUND7WUUyiJWK9FDD3FcvS135OGHi1bKwWrl2PzZs4n+/dd3snrKhQv2+7FtERGck1AQSUmOx9u2995zfa28+QUA0TPPOB5jsTi+fuwx5zE1a3p2b4cOEa1dy/2wbZw8SRQWxjkRQUFENWoQJSa6Po/RSNStm723eXg4Z+l7y7Rpjn299XqiL7+0v2+1EiUnuy8tIilVoKTyQIQQAsAUAC8BsAIIA2ACkCaEmAkgCEDrbMWwUgjRD8A7ABoKITw+1sX1Rwkh4oQQcUlJSb65qfh4djTmfUL3pMVkaeX4cWDDBvsTscHAoZ+nT3t3PiK2mT/yCPDiixwF8+uvvpPXEw4dco5YMhiccwFyk1/kEeA+Wqh+fUdzlU5nDw+Ni2NfikrFhTNtq9W8TuXC0LQpZ1Pn9rW8/DKHyqal8ZaQwI2fXKFWs79j3TquWHD6dNHCWpcscTSJGQyOGexCsDmroM9ZUqbxhwlrFICNRHQy175IAPMBTAaQuwTquwCaA+gHwOzFsU4Q0XQiiiGimEq+CrkMCXHOqzCby3YrV4PB+Z9apfK+t8eGDTwppafzZJaRAYwYYc9XeO01/rzCwriznT+Iisq/3IXte7BzJ/sqBg2ym6gqVMjfn9Cli+trzZzJ5w0JYbNSTAwrzpQUTnC7fJnv/eJFbllqMOTf06EofR6OH3fMBzGbOSfCHQoFm2N79XJO9isslSo5KlIh2PchuTPwZJlSmA3ASrDpajOAWwB2ASCwYhAAVoNXFcMATMse0x7AyuzfT3h6rLvNp6VMxo3jpboQ/LNPH7u559YtoilTiD7+mGjvXt9d059kZBBFRdnNckolm1MyM70735w5bBbJbZ5RKrmC7CuvOJtuJk1yf06Lheiff7iKa3KyZ3K8+iqbUUJCuBSHrUDejh2OZTo0Gja3paU5miZtJTyWLnV/rZQULs2xa5fdRLNzZ/5F//bvJ1q50tHEptcTvfOO/XwZGURHjhAlJHh2r5GRzp9r69aejfUVp07x/Wo0vAUHl4z5UuJTUBqq8WYrkVoAugOIBbAdwPvZ76nBK40tADYAqJ+93+Nj3W0+r4W1YgXRBx8QzZ1rnzBu3eKJ11YtVa8n+vNP317XRno60fPPc02mXr3YBl4ULl4k6t6dy2D36EF06ZL35zp2zLH+kkLBlWOJnBULwD4EV5hMLFNgIE/AYWFEhw97JsuePUS//UZ04oR9X4cOzjI0acI1pfIqkOBgrrvkDadPO5cdDwggio/n93/6ieuWRUQQjR1r/x4dPkxUqRJfOyDAvQ+GiOiee5zv6eGHvZO7KFy6xDXDvvyS6Pz54r++xOeUCgVS0luxFFP86ivHJ9vCOEYLywMP2CcnhYIdoElJ/rmWN/z6KyvQvGXH81MgNWrYxxmN7ADPyLDvmz7d8WldCJ4wvaVyZWcZgoP5veHD7ddSq/nvV5jeG3l5+WVWfFot//zvf92PqVPHUTa9nmjzZn7vwAGitm15xThsGFFqKu+fOtV5RbNypfdySyTZSAVSXArknXecq6WGhbkfl5jIk0Hbtvwk6q7/Qnp6/k/Kv/7qm/vwFVYry5qbN990nrynTeP3tm8nqlCBJz+djlcORESvv+48xpPPtSCaNXM+X61a/J7ZTPTZZ0T33080erRvlPL69UTffedZ9VmLxfk7pNWyWfTyZf47517N9O7N46xWNgXWq0fUqBH3DZFIfIBUIMWlQJYscZ6Y3F3XYOCnXFuzHZWKO8e5CqHNzHRWIEFBRMuW+fR2fEJ+IZvvv8/d4ipV4omRiFccef0Fej2bRH77zTE8VKXi8FNv6drV+e/UsqX35/M1+ZUdX7uWzaX5+Za89VVJJB7gqQKRtbCKyvHjzuGZ+dUvys3WrRydYytkZzbzvqtXCx4TEAA895w9CUyj4UJ3vXt7L7uvWbCA5VSpOIHs/Hn7e+PHA9evc+Lbiy/yvvh45+g2tZorqQ4cyDW9NBqOkqpXr2g9zPOrwVSaetAvXcoRXaGhfL9Dh3KUVH7lSoRwXc5dIikm5LewqFgsHMaYO0ckb2n1vBw75hh+aRtz/ToQGVnwuClTgLvvBjZu5AKKb7/tXT0kf3DgAE96tvu6cgVo2ZKrvhZElSrOuTVGI2dGCwFMmgR88AGHBVev7llZkoIYNgzYts2e96LX877SQtu2rHCPHOHQ2EaNeP+DD/J3wlbnSa8HXnlF5lVISgeeLFPK6lZoE5bFQvTaa2xzDg0lmjDBblYyGokmTiR68EE+JiWF9x875pyJ++67rq+zZk3+XeZsXdROnGDH67hxRAcPei77unVsB8/bdzojg2j3bo70KUqmuY2lS4mefprv0xZe++KLziYigLslumLuXPZ9hIbyz/Hjiy5fQUydShQdzQ78zz/3zWdRHKSk8HfxmWeIFi4sO3JLyizwpQ8EwH+yfzYF8DeAhz0ZV9JboRXIJ584R7XMmMHv9e9vD1MNCOAQ0Kwsfi8ujsNhW7Yk+uIL5xIWebH5QGxKRKlk+77VynkAQUH29/R6zi1whdlMdN99PC44mMesX8/vxcfzpGnb37u369Ie7vjsM8eIpehootu383eUA84O9fw4c4ZDn48c8V4uiUTiM3ytQLZk/1wCLiuyzZNxJb0VWoG0auU8Ad5/Pyd25Q3VDQ4m2rKlcOfPzfnzHJYaHs7KwxaaOWSI8+qkRw/X51q82HEVBBBVqcLv9e7t6HzX6TxL4ssPq9W513ZgINHPPxNdu2bvyW7bmjf37jqecO0a0fLlHOrqTmFLJJJC4akC8dSoTEKIKgACiOgfAOWgbGs+REQ4OsQVCqByZXb05lfHyNu2sSYT99Y+cYJ9BLGxXBEW4FIYlMc/kppq//32bS7JHR9v3xcf71zCIzmZfx475uhnyMiwl+/2VvbcWCx8zsqV2fndsiU3KxoyxH/9Sfbu5VpUQ4cCffsCPXvKFr4SSQngqQL5HZxV/nH26/LpwfviC24+o9Fw1E5ICJeqjozkidEWtaNUcg2ldu28u86uXcDJk1w6HGDH7u+/c48JW+luG4GBvA/g/hFRUTxh1q8PfPQR72/b1jEqR6kE7rmHf2/a1PE9W7luG0YjR43ZGgy5Qggulpi7dpRSyf0zAKBBA57cr1wBFi7kEt7+4MknWdGmpLCDPTYWmDvXP9cqq5w+DTRrxt/ZOnXKduFPSenFk2VKWd28ygPZsIHNVn37suPZxnffOZpnnnuu8Oe28fdf8g/2AAAgAElEQVTfXJ4jb+KYrdzFjz+yj6RGDfY5WK28hYU5jtHruWyHTT6Nhv0Sd91lL0ty9SpR3brsH9HpuIS7ycTvrV3L+/V6Nsn9/bddxr17iQYO5Oz33HWhMjL43qOj2eQXG+v95+AtuRPrbNv77xe/HKUVo5HzSnKbQkNDPa8nJrnjgY99IEpwT44Xsl838mRcSW+FViD79vFkqlDwFhzMxeJSUpz9EgAX0fOG1FSuP2XzTQQEEMXEuI6uuXXL2ceg0RDNm2c/xmTi4/JiNHIE1unT9mskJzv7TYKCOGrq0CHnyLK5c727V3/QpYvjZxEY6L/6Y2WRU6ec/7ahofxwJJF4gKcKxFMT1jwAMQCybSmY5Nt1UClhzBg2J1mtvKWmAuPGcVc7Iufj163z7jpBQWx26dWLE+QGDQL+/tt1v4jgYGc7v9HoaCZSqfIvMa9Wc/5I3br2a5w65ZxLoFAAZ85wl8K8PR4+/bRw9+hPFi5kc1lAAN/bK6+wL0TCVKjg7Ksymdz3OJFIComniYSRRPSEEGJT9utSlMLrQ/7913nfnj32pK68NGvm/bWio4HVqz0/vqB2pQcOsAIqLDVqOPs9jEZO2Muvta275MjipFo1TrhLTGRlHBhY0hKVLiIiuP/K5Mn8N9VogIceKtr3VSLJB09XIBlCiBhwNFaLQowrW+TX3Een4wijatUc92s0wH338e8bNvA/Z61avGLxR0RQQRO4txN79eq8qtDpOFhApwM+/5w73o0c6ejI1+uBsWO9u46/EIIz2aXyyJ9PPuHAjI8/5gCDX34pWkdEiSQfBOVnmsl7kBA1AXwB4G4ApwG8SUT5PK6XLmJiYiguLs7zAbVqccmI3LRsCaxcyZEstqgpgE1Ky5dzR7eOHR1LZDz9NJcd8SVE/GSZuzSIUsltXIvSkvT4cY4Ia9iQNxvbt3MEmsHAIcYjRnh/DYlEUqYQQuwlohh3x3lqwjIS0aN5LhBCRAXYVcooVas6K5Dq1flnfopWCGDZMkfFYjCwjd7XCkQIntS7dmUlIgS3VS2K8gDYPJefia5TJ+6dLSkeiID584G//mLz4n//a2/FK5GUUjw1RW0SQnwthKgHAEKIVwEcEUK85T/RSoBXXnE03eh0XDm2alXuIW0r5icEEB7OeSCBgc7O6Pwqv/qCu+4CEhK4am96OifSScoHH34IjB4N/Por+y6aN+ekUYmkFOOpAqkE4BDs0Ve9ATQEcL8/hCoxhgwBZswAWrdm5bB4MZdLJ2KHrQ0iTmDLyuIkv9BQe7KeXs92Z38hBJuy8vPXSMomRMBnn9kj30wmVh7LlrkdGp8Sj+/3fI+f9v6EZEOynwWVSBzx1IR1hIhmCyFsj7wBRJQhhCh/9SMef5y33MTHA+fOOTqsTSaO0OrZk/0QkyezaWngwNLVo0NSNsgb+Wa1uq0OcDTxKNrPbA+T1QSFUODdje9i//P7ERnsoiWAROJDPF2BXBVCrAEQIYT4EkBTIcT/APipVkUpQ6/P/x/cZu6qVo0jmn78USoPSeERAhg82LFEjEplLxFTAGPXjkWaMQ2Z5kwYTAbcyLiBCVsm+FlYicSOpwrkPwBGgSvx/gWgCYCTAEb7Sa7SRUQE+xtsCkOnYxt127YlK5ek/DBrFke7NWgA3Huvve6ZCxLSEkCwB3eYyYyrqS66WkokPsZTE1YdAI8S0ccAbMmEP/tHpFLKTz9xZNKuXRy1NGaM7Aon8R0BAcC33xZqyEMNHsKZG2dgMHMIeaA6EA81fMgf0kkk+eKpAvkVwFf+FKTUIwTw1FO8SSSlgPHdxuNa+jXMOzQPSqHEK+1ewTMtnilpsSR3EJ4mEq4C0JeISlE9C/cUOpFQIimD2P6HRSnLNCciLDyyEFsubEHdsLp4sc2L0Kv17geWVYi4tFB6Opu4g4Jy3tp9eTfWnVmHMG0Yht0zDMEBwX4T4+Lti7iZcRMNKjaATq1zPyAffJ1IeAjAUiFETlwhEckGDBJJKaC0KQ4b4/4ehx/jfkS6KR1alRYLjyxE7MhYaJTFV0ovzZiG51Y+hw1nN6ByYGVMf2g62tXwso+PK8xmrje2bRubtrVaYMcOoF49LPl3CYYtG4YsSxYClAH4Ztc3OPD8AQRpgtyftxAQEV5c9SJ+PvAz1Ao1dGodtj61FQ0jGrof7CUe18ICcABA7VybS4QQa4UQm4QQO4UQTYUQbYQQW4UQO7IjuSCEUAohpgohtgghtgshmmbv9/hYiURS+sg0Z2Jy7GSkm9JzXp+5cQYbz20sVjmGLBmCpf8uxbX0aziceBi95vbCuZvnfH+hn38Gtm7l1UdKCnD9ek6i70urXkKGOQNWsiLDnIErqVcw96Dvn79XnlyJOQfnINOciVRjKpLSkzBosReFVguBRysQIhpf2BMT0X0AIIR4Hxy9NRpAPyK6KIRYL4ToACAKgIKIugghOoH9LL0BTC/EsRKJpJSRZc6CgOPKSEDAYDIUmwwWqwVrTq+Bhewh+FZY8ffZvzGq1SjfXuzYMXs9PIDD/E+fBgCkGlMdDjVajLiVecu31wdwNOkoMs32skoEwqkbp3x+ndx4tAIRQnQSQswXQvxu2zwY00cIEQdgGICVAEwA0oQQMwEEAWgNViwrhRD9ALwDoKEQIszTYwu47ighRJwQIi4pKcmT25NIJD4mVBuK1pGtc8xVAgIKhQL3Rt9bbDIohAJqhWPFBgGBQLUfKji3aOFYBkmpzCmf/0C9BxCgtJc30ig16F03z7Nv3v4tXtCwYkNoVY6peXXC6hT5vK7w1IT1LYAfAdQAMBPABdeHA0T0V7YT5v8A/AAgEsB8AJMBLMh16LsAmgPoB8CW2V6YY/NedzoRxRBRTCVZjE4iKTH++s9f6N+wPyKDI9GmehtsH7EdlQKL739SCIEJ3SbkOO4DlAGIDI7EI3c94vuLDR3KyaABAVwfr2ZNLqMPYPbDs9GvYT8EaYJQLagaFgxYgJjIbP/0unVcVy8ggHOATp70WoSHGz2MR5s8Cp1Kh5CAEFTUVcTiwYt9cXcF4mkU1mYi6iqE2EhE3YUQ64jII/NRtvnpZfDE3w3AVQCrALwP4C4A7YhojBCiPYB3iKivEOKEp8e6uraMwpJIfENCWgJeW/caTiWfQqfoTvi4+8deR/gUN3+e+BN/n/0bkcGReKH1C36NgMLly1wnr25de328grh0iXPKbKYvIbj694UL9sKtXnAq+RRuZNxAk8pNvHbU+zoKyySEUAA4KYSYByDCzcVrA5gNIBNACoBXwCanZWDz1Doi2iOEOACgtxBiC3hF8Xz2KUYX4liJROJH0o3paDujLa6kXoHZasbhxMM4kngE64Z62dK5mHmo4UPFl2Bpa//gCXv3AioVCECmCtCZiZ3v165xeaQTJ4DZszk8ePhwrsbtAfUr1vdKdG/waAWSc7AQGgAPghuux/tNKh9RXCsQs9WMTec2ISUrBR2jO6JqUFW/X1MiKS7WnVmHwb8NRkqWvf2PRqnB5VcvI0Lv8llS4opdu7D62a54rG8W0jVA9G1g9WI1Gp1NYeWRt1Hd1q3c4K4Y8OkKJHv10QJAIIAb4NImpV6BFAdGixHd5nTDoWuHcqJONg7faLdxSvyCwWTA0cSjCNWGon54/VKbC1EeEBBwetAkOEVZFQeZ5kxcS7uGqkFVEaDyU9+dYuJio2oYNMAMQ7a16kIo0GO0HpcCNFB8+KG9vD/Av3/wAfDnnyUia0F4asJaDc4FuZn9mgBs9YtEZYxZ+2fhwNUDOfWIAGDYsmH494VS3/G3zHIy+SQ6z+qMDHMGTBYTHmn0COYPmC+ViJ+4t+a9qBJUBVm3smC0GqFT6dC7bm9U1FcsVjn+OvkXHlvyGAgEpVDijyF/oHvt7v652NKlwNSpgEYDvP020Lmzzy+xL2E/VLpAIHtlRwrghiIL19KuoVpKPs1eS2GDMU89NQFE9DARjcjenvarVGWIC7cvOCgPALiaJiui+pPHlzyOxPREpGSlIMOcgeUnlmPRkUUlLVa5RavSInZkLJ5p+Qx61O6BNzq+gd8G/1asMiSlJ+HRJY8i3ZQOg8mAVGMq+i/qj9SsVPeDC8uvvwLDhgGbNgFr13JZ/Z07fX6ZakHVYLE6tokgIoTpwmB98j/ICrA/32cFqGAd+qT7k+7fD3TrBjRtCrz/PmfI+xGXKxAhRHT2r8eEEMNhr8QLIrroT8HKCh2iOkCv1uckSKkUKrSObF3CUpVvTt045VDGPN2UjmPXj5WgROWfcF04pvWZVizXupV5C7HxsdCr9egQ1QFKhRInk0865XQohAJnb57FPVXv8a0An3/umBRoMABTpnBbax/SpnobDGo8CEv+XQKAlcc3938DrUqLz+olIrGnwMvbAAHgu44CwQ2u4V1XJzx7lldKaWn21zduAN9951O5c+POhDUHbK4SABoBeCp7PwHw09qxbNG3QV+80eENTNw2EQoo0KRyEywYsMD9QInXNKzYEPsS9sGaXdszUB2IJpWalLBUEl9wMvkkOs7sCKPVCCtZ0bRyU2wavglRoVHIsmQ5HGu0GFE9pBBRT/lx6xZHPkVHs7kK4HDaYkAIgVn9Z2HYPcNw4dYFtKzWMkcZrjqzGltbm/B1zrOoCR3OrMG7Xd4r+IR//OHYxdJgAObM8asCcWnCIqJuRNQdwLLs37sRUTcAbjPR7yQ+6PoB0t5KQ8K4BOx7bl+xJkvdiSwatAhVAqsgWBMMrUqLQY0H4dEmj5a0WBIfMOKPEUjOSEZKVgrSjGnYe3Uvpu6ZiujQaHzU7aOcJDmdSodv7/u2aFFgX30FVKnClXNr1AAOH+b9b7zhmFWu1wMvvVS0GysAIQS61+6OES1GOKykokKioBT2fkNKoUSNkBquT6ZWO+eP+LlnUaESCQt6XVqRiYTll0xzJo5fP47QgFDUDnNb21NSRgj5NMSpdtSARgOw9LGlAIAT10/g1I1TaBTRCPXC6+UcYyUrDiYcRJYlC82rNncq6eHEnj1A166OpqqoKOBitmX+jz/4yV2jAd56i7tEFiOXbl9Cq+mtckzjWpUWcaPiUKtCrYIHJSYCjRvzqspiYcX33nvAm28W+vq+TiRUCyFCiChFCBEAwI+pnBKJe7QqLZpXbV7SYpQ/1q3jyTMiAnjxRaByZa9PZbFaMDl2Mjae34h64fXwfuf3EaYLcznGbHV2+uZWKA0jGjqVJ880Z6LnpJY4cPsEFASEa0Kx85UjqBYSWfCFDh1yNlVdvgxkZXFZkYcf5q2EiAqNwrEXjmHlyZUAgD4N+rhfbVWuzE70jz/mZMQBA4AnPXC8FwFPFcinAGKzs8GbgWtjSSSS8sTPP7PSyMhg08f06cCRI6xMvGDkipFY/O9iGEwGaJQa/HniTxwafchlU6kqgVVw/vZ5h33NqjRzeZ2v5r+AfbeOISPbx55hvonnp/TG8neOFDyoTj5FBitUYOVRSqior4jhzYcXblBUFPDDD/4RKB88CuMlopUA2gH4GkB3IpruV6kkEonfsFgt2HZhG1afWo1kQ7L9jddfZ+UBsAkkMTGnIGBhMZgMmH94fo4JxmgxIjE90W0/kA9bvgqdbRFiBYKtKjzX4lmXYw4d2ZCjPADArASO3nRTlLBrVw7V1emA0FDuHrh0qZu7kuTF0xUIiOg2gD1+lEUikfgZk8WEnvN6Yt/VfVAKJRRCga0jtuLuynez7Tw3RMA//wCvvlro6+TNb7CRn4kqN8P/txqNjggYBcEsgOhMBepGbQNGFtxVL8ZaFSuNF2DIDqLSmIEWKW5a5woBTJsGjB4NJCRw6fUqVVyPkTjhfclHiURS5pixbwbiLschzZiG21m3cSvzFoYtG8Zv5lcB1suWCMEBwehZu2eOM1splNCqtOhaqysfQMRRT5s3Oyquf/5B20uEey8C3S4Ada8ZgQ0bXF6reY8nce8FQGcCAo1A3ZtAj1o9PBO0aVOgVy+pPLxEKhCJ5A7izM0zDpUTCIQLt7Pb+7TOkwCr1QJ9XXZMYFau5Ciljh2BZctydv/+2O94psUzuLvS3Xiw/oPY/exuVNBWYOXx5JNAu3bsqK5dG9i3jwdlZTmfPzHR5eVnZ+7EuQrAm1uBt7cCEenApJCj7uWWFBmPTVgSicROljkLz6x4BkuPLUWAMgAfdfsIL7X1T66AL2lTvQ0C1YE5vcpVChVaVWvFb/72G9C9O4eyWizAa68Bffrwe9u3A0OGsLmnSROO1KpdG1izBnj0Ubvv5IkngIULgYcfhk6tw3cP5pPEtmwZsHy5Ywjto49yC9jwcODKFcfjGzd2eU/hunCcqazEBz3sZrM22tBCfS4S75ArkEKw89JOTNszDWtOr3GuTlrCrD61GlHfRCH402D0X9jfofS2xPeMXTsWvx/7HZnmTNzOuo03N7yJP0+Urkqp+TG48WCMbDkSaoUaWpUWDSs2xLxH5vGb1atzb+8zZ4DkZGDiRN5/9SrXg7p8mRXLkSNcb8lqBb75xq48ACAzE/jyS9dCnD7tvNK4dIl/jhnjnMQ3bJjL043rMA4hASFQKVQQENCr9fiylxsZJD5BrkA85PMdn2P8lvEgIiiEAoMaD8Ks/rNKRQXYI4lHMHDxQGSY+R95zZk1eOy3x7D6ydUlLFn5ZeXJlTmfN8BRRytPrSy+xkVeIoTApPsnYXzX8Ug3paNqUFUoRK7nSIUCiMyTPxEX55jRbLWyWSkhgZVNXi646XjdrBmHy9oK/QkBNMx2kr/9NifvzZnDrWE/+cTZtJaHmhVq4vDow5h9YDayLFkY1HiQ29BfiW+QCsQDUrJS8O7Gd2Gy2hvfLz66GP/X9v/QslrxNHhxxYazG3LqQgEcMrnhnGvHo6RohOvCIS5ewn2nAYMa+KuxClUDy04jsVBtKEI9NfNERDhXdbVYOPw1OJ+c4sBA1+e7/37ghReAb7/l8hshIfYQWiE4nPj11z2TLZvqIdXxTud3CjUGAK+4EhLYme5lvsudjFQgHpBsSHYyWZksJiSkJZSQRI5U0FaASqFyKDYXqHHzTywpErOrv4B6L4+CIIAEcGMLIeiFp4p20mPHgB07OKO4Tx+/1zHymHbtgPvu49LmJhP3+n7vPVYU7dqxScumYFQqoG1b9+d8+WUuYnj5MvtN6hdfG9Yc/u//gBkzeMVjsQB//eWXvh/lGekD8YBATSDM5PgEZiYzUErcII82eRTRodHQqXRQQAG9Wo9J908qabGKzIoTK1D327qo/EVljF45GkaL0f2gYqL5+B8RZAQCTUCQEYhKUyJ8undJdwDYqRwTwxPrf/4D9O7Nk1pxkpXFeRHVqgGNGnFZE4BXBb/9BsybB/zvf8Dq1fb6Sp98wlndwcG8RUVxkUJXJCVxAcO5c1kpjR4NfPqpf+8tL1u2cOZ9RgY3akpL49IfRcBKVuyK34UNZzfgdmbpa/7kD+QKxAMyTBnQqrTINGfm7AtUB0Kl9M/Ht+/qPkyJnQKz1YznY55Hx+iOLo/XqXWIGxWHOQfmIMmQhB61e7gdU6pITAROngRq1uQJCEBsfCweX/J4TsjpnINzQCD80Lf4yjS45No1h5fCaOSnaW8ZMcIxKmn3bo50GjjQ+3MWltGjgUWLeFJNSAAeeYQTCe+5h30jjzziPCYsjOtK7dzJ4bnt2nF2tysWLwZSU+2rFoOBFdNbb/n+ngri9GnnfTdv2mthFRKTxYT7F9yP2PhYKBVKqBVqbH96OxpFNPKBsKUXuQLxgKjQKIfyygICGqXGL42j4q7E4d5Z92L2wdmYf3g+es/v7bb8AwDo1XqMbj0a73d5v2wpD1s4aN++QIMGwOTJAHj1kTtfIcOcgaX/lqJSE716cZ6EDb2ebfveYLU6tys1mXgSLyqZmTyxe8LSpY4RVVlZnOMBwGq1YPHs1/H5Z/2wcUWeUngBAVwapFs398oD4HuzWh33edo5b98+VnIHD3p2fEE0ber8uURGel0La8a+GdgVvwvppnSkZKXgRsYNDP+jkHWsyiBSgXiAQiiw+anN6BTdCaEBoWhapSm2jtjqtrKoN3y2/bOc+kEAR/dM2DLB59cpFaSns7nGYOAJNDOTTSOnTyM4IBgapcbhcL3GTXkKgM8zdiyHnX78MU9WuSHyfEJ1xRdfcM6CjS5dvDeB5Bf5ZDQCLVp4L9+hQ7yaCwwEKlbkjG935J38VSogMBBkteKR16Pw9Kkv8U76n3go9hVM/MRLZQkA/frZmzcBrHw9qRr74YecsDhqFNChA/D11x5f0mw1O/ox27Thlq8BAVwHKyIiR1l6w8nkkw7/twTC2ZtnvT5fWUEqEA+JDI7E5qc249abt3Dw+YNcO8gPZFoynfbl7cRWatm5k23nYWHsBL5xw/XxV686l9TWaIAzZzCy5UiE68KhUWo4tl+lxzf3feP6fFlZbEKZNo0T3D75hBPUAH7iHTeOJ0mtFnj++aL5GN56y/H+tmxhP4Y3ELFDOTcaDbck9YasLKBHDyA+nu/75k3goYfcZnTjs8/sORhqNSvIYcOwc+0MbNBeRbqGCxUaNMBHmWuRftPN+QqiTh1g61Z2WN91F/t9pk51Peb8eZbPYGDzl8EAvPOO23u6knoF9SfXh/ojNbQfazH3QC4/1X//y2bHPXs4D+Uee0OnGftmoPkPzdH6p9Y5JdVdERMZg0C1PXBFpVChRdUiPACUEaQPpJTxfKvnsfHcxpynGb1aj9Exo0tYKkeOXz+OHRd3oFJgJfSp3wdKhZL/AXv3tvdj/vtvNkv980/BJ6pe3VmBGI1Aw4aI0Efg8OjD+GnvT7iVeQv9GvZzb5rbsYMnBFtbT4MBWLWKnbaLFgHff29PYJs3j6//3nu4lXkLz654FtsvbUeNkBqY2W+m+zyC1at5xWTDdq3+/V2PK4i8KyWFwv5ZFpaLFx1lAzii6/BhViwFMXw4d+b7809etYwZA4SH40ZyPJR5Fm0KK3D7ejwCw7zsF9KiBStdT7l8mVcLue9LrWYzn4ueJe1mtMOlFE5SNFqMeGr5U2hUqRHaVG/DB1SsyFsuZuybgZfXvJzzP/job4/iz8f/RI86BX92TzR9AtsubsOsA7OgUqgQHRqNuY8UIaiijCAVSCmjT4M+mPvwXEzcNhEWqwVj24/FsHtcZ+IC4KfYvXv5SbZlyyI1AnLFnyf+xGNLHoNCKCCEQExkDNYPXQ9l3snAZGJHcEZGwXZxnY7t7gMHsiIxmbgLXK1aAIAIfQTeurcAx+qOHTzRhYcDI0fyT4vFWSEJwftXrHB0UhsMbLJ47z30/aUv9lzZA6PFiIS0BHSe1RknXjyBKkEuCuxVrMhP+DYUCo5e8gYh2H+yfr1dwSkU7GfxhogIx97YAH+2VT3IU+nRw0nJxLQfCOuxj3JeK6xAZIYKVesUY7Jeo0bOK0Yh8u/rkY3ZYs5RHjYIhB/ifrArkHyYunuqgzkqw5yB6fumu1QgQgj80PcHfNTtI6Sb0tlnqiglYdh+xC8mLCGEXggxXwixSQgRK4RoKIRoI4TYKoTYIYT4Mvs4pRBiqhBiixBiuxCiafZ+j48tjwxsPBD7n9uPQ6MPYUTzEe4HEHGdoq5d+We9emxOKgK3Mm9h+t7pmBw7GWdu2LONn1r+FDLMGUg3pSPNmIY9l/fg92O/c1JZXhQKR1t3fvToAXzwAZszxo3jnAB3/Porr3Y++4zt2M2asZmmQwdOSlNlPxdptWzSqlKFfQy58yqyJ/zUrFTEXo51CBG2khXbLm5zLUO2ksuBqGi5DIsWsSKtUoVrTa1dC9St6925wsLY/6PXsw8kMBB4+mk+rxdUrXsP1rWbipqpSi6VfluLjcM2QOGnKMR8qViRTYQhIfydCgvjVWBQUIFDCqoSoVG4/k7m9b0BQIDSM+d6pcBKqFWh1h2hPAA/rUCIyCCE+ICIzgghRgEYA6ALgH5EdFEIsV4I0QFAFAAFEXURQnQC8BWA3gCmF+JYyYoVbD5JT7fve+wxe3/nQpKUnoTmPzbHzYybsJIVb294G5uGb0JMZAxuZtx0ONZkMeFq2lXg/tFcjuLff3nVodfz5G6btBMSWEalkp2oYdkBCEOH2gvrbdjAT+Hbt7tOonv1VftqIiuLV12zZwNjx+Lo6jkYOqsfLmosaGkMwrz//owqQnBdp1WreBwRm0O++CLfyYJALrvmAeDVnsMgYrv+f/7jelxBGI1saktJ4XtPKWIts3Hj2LF/6BA/UHTpUqTTtX9oDM4/NIbvs6TK93Tvzg8KN2/yitONHEqFEk0rN8XhxMM5+xRCgbHtx7oc90HXDzBo8aCcUjWB6kC82r7wPVHuBPz2CEFEtsfWSAA3AJgApAkhZgIIAtAaQB0AK4UQ/QCMBtBQCBHm6bH5XTdbYY0CgOjoaD/dXSnj7Flnk0XeiqaF4KudXyEpPSmndEuWJQsvrn4RsSNjUSmwEhLT7Y5Lo9WIuyLuYnv09u1InjEZiVdPo3aHPtD2yfYHHD/OiWM280xQEHDiBE+Uv/9u35+ZyVnNsbG8msjI4DDflBReqdSrx8flVpQAm2dSU3HDkIx7f70ft4JMIAWwSX0dPb5vj0PvX4UiKoqV2/Ll7Fh+6CGgWjUEAHi25bP4ce+POeVgKusro2ednq4/pEqVHE1YGo33JiyAVx///MN/x4wMfh0X57YSrUtat3ZbR6rQlHTtN4XCyWfhiu1Pb8eAXwdg56WdCNWGYsGABU491fPyYP0H8dcTf+GnfT9BrVRjbLuxaF61eVElL5f4dQ0qhHgYQAsAI8GT+nwAbwHoDLv57F0AqwH0A3A8e19kIY51ILvd7nQAiImJKSW54j4kM5OL1VWubH+Kb9GCzTY2JSIER7d4SUJagkPdL4BXJUSEW5mOXes0Sg3O3ToHAPhy33d499b70ARpoIdQvY4AACAASURBVD66FOtarEOryFbsWM5dfTUtjZ/UZ892bmKkUPA9pqfz5HfxIk/4CgWvIDp3ZmXy++/2MUIADzyA3RvnwWI2gbLTM8xK4KwpEVevnkL1yIY86Y8c6XA5IsLGcxsdQjyvpl3F1dSrqFmhZsEf0rRpQM+ebJdXKNjv8PLLrj/YgrBaefWSNzdi82agcWMkXr+ALW//B4rLV6Du1hN9X/vBsQCipEBCAkKwftj6Qo/rVrsbutXu5geJyhd++xYKIZ4BMBjAYCJKApAGViSHADwI4B8AewHsJ6IJAGIAHCOim54e6y/ZSy1793LkUEwMP+1mJ92ha1cOSdRo2HRUvbpDYx+X2MI8c02gDzV4yMGEo1Pp0LcBNxYScHwCtSVX7ru6Dx9s/gBZliykGlNxI+MG+vzShyfmS46OTADA0aOcp9Cggd1PolSy/G3acI2ic+dYkWRk8E/b5H/+vOO5VCrg3DkEpRlhzfONNiuAQEOeCKdc3M66jbM3z4Jy1aVRKVTYFb+rwDEA2Ldy8CCXLp8yhSOcwrzMC1IoHEuYA/xZhIUhJSUJ15vVQ59ZOzBw1Tn0ePsnrHiqvXfXkUh8jL+c6DHgVUAUgHVCiHVgs9MyANsA7CSiPQAWAggRQmwBMBGAzThZmGPvDIiABx/k3IO0NH6if+ste0bu++9zeY2jR3nitZl7XLF4MU/e4eH8M7si6sDGA/Fh1w8RpAlCgDIAAxsPxBe9voAQAs+2fDbHoSggEKAKQP+G/XH42mEorI4LvmTDdW5clF9EWN26PHFu3Mg+kZo1OZN55042cV254hyKasuVOHXKcX9WFnDkCNp3eRKtEhTQZy/EAo3A6ONBqFC74NVYoDrQSSkSCBX1HphJ6tblqrJPP83O3aIweTJHpalUrEzq1wcGDMChWf9DVLIZ+uxE7UAT8OD83TCbykhukKRc4y8nehyA/LygbfMcZwLglIJKRBs9PbZUk5XFFT+XLeNCc5Mmse3dG1JSeKWQG1tsvy0BqkIF3jwhIYEjtmwrD7MZGDyYlVClSni9w+t4vf04fi+X3TsqNAoWsodT6tV66NV61DeHwJqRAeTySQcZeYLG4sXc7tRWriIgAFiwgH8PD+dCfXnp0YPLfdtMX0olKxiAleOBA3bZAwOBu+6Cslok/h6xCTMnPIzTiltoo4jC4CkbXTrk1Uo1vr7va7yx/g2YrWaoFWp0jOqI7rW7e/Y5+ooRIzgIYetWNrU9+SQQEABFusHpUAUBVmMWoPau7IZE4jOIqNxurVq1Ip9jtTrvO32aaMQIov79iRYtsu9/+mkinc5WPIN/373bu+taLEQhIfZzAUR6PdE//3h3vtmzHc9l2xYs4Pc/+YTlVauJhgwhyswkIiL9x3rCh8jZAj8OpFn7ZxHNm0fjHlST7h1Q6JugoLdAG+soiAwG+2f0ySdEn39OdPmye/mOHiXSaOxyKRREr7/O7504QVS5Mn8eOh3R44/z51MEdlzcQd/s/IYWH1lMZou5SOfyJcknDlCqxv73yVCCjt4VUdJiSco5AOLIgzm2xCd5f25eKZArV4h+/JFoxgyi69ft+0+cIGrUiCeyyEii7dt5/8WLRKGhRELYJ/Vvv+X3wsIcJ2chiN57r/Ay2Vi3jix6PRmDA8mi1RKNG+f5WKvVUflt3Ji/Atm2jWjxYr4P2z6tlmjMGLJaraSaoHJQINqJWpq6eyrRihVEWi2dqAjaVAuUpAeRSkVk9nIyfu89/qxzy1a5sv39tDSi2Fii48fzV+olidVKtHYtfw/Wry/y6eLXLaXz1YPoRqCSDnWoR5lJCT4QUiIpGE8ViAzlyM2JExy9NHYsm57uuotLKJjNHIN+4gQ7na9c4WJ9iYlcEiM93W5OMRjsvQ3yOkZt3de85O86QL2XgYGPAq1GEV73JFE5IwMYNIh9HIGBdtm6duXs3tw0acKmppUrHbO2MzOB1ashhED/hv2hVdmr0CqFEvfXu58zgrOy0CAZ6HoeiDCAncreNkVSq51DRnOfKzCQne0NG5Z8aGle/u//uLDiG29wBNobbxTpdNV7DUDN+FSEpZnRdMcpBES4yJCXSIoRqUBy8+qr7GswGHi7cYOd0/HxTpFKUCiA/ftZuRRUmvrrr2HRBsAqALNKCWt4GDtcvcBKVgxaPAjnAgz4MyodB8KzMC1uGnZecpNx/sor3GnNbGZlMnEiO8uF4JyLd97hcNT33mOHvBCcta1WO54n2xE+75F5+E/T/6BGSA20qNoC64etR52wOhwhlldh3rjhnLPhKcOGsZKwhfnq9dwvu7Rz5gwwcybfd1YW/5wyxTFnRCIpJ8haWLlJSHBUEhYLrzbCwhzzGACejCtV4mqvtiqhAJfPGDUKALDkbgV+GAr0Ogqk6AnLOwts0wl4E+yZmpWakxlrQymUOHPzDNpHuQjrXLMm/6J/AwfyE/3Eic5jxo0D5s9nBWC1cmRQdrVUnVqHGQ/9BCQn28tKAFxnKe9KQK32rD9EftSsyYl0n3zCcjzxBGfXl3aSkvi+c/fV0Gg4gqxGjZKTSyLxA1KB5KZvX86atikDvZ735TcJGo2sWKpV44nhzBlWPlZrTmOhsWvHIr56FjZUBwArAsRN/Lz/Z7zW4bVCixYSEIIwXZhDFriFLGhaOVdJMIuFlUVgrn7olSs7ljTRaJx7T+SlYkVenSxdyud78EF77acLFzhC6tIlvt+vvgJeeolXMV27cvKbbUX2ww/OiYKFoX59YNYs78f7CtvqLTjY/bGNGzvfs1rN+S4SSTlDmrBy8957/KSrVvNEO2YMbwcP5t874vff2Vxx6RK/b7WyYslOeEs3OppvjBYjbmd51ytZCIFVT6xCuC48Jz/j0x6f4p6q2SG8P/zACq9CBe62ZitlMm0a51XodKxYqlZlU507QkPZ3DZmjGPhwH79OM/EaOQSIm++CezaxZPm8uXAwoXAN99wWY6hQ72611LF1Kn8uYWHO36uBRESwjW9atbkz6ROHc51yWvek0iKwO3M29hzeQ+upHpfssgXyBVIbsxmdprbVhLx8awYCnryDAnhrOgMR9OSrclN/4b9sejoopxe6rkzur2hVWQrXHn1Ci7cvoDKgZVRQZud87FrF/Daa/ZSJseOcf/q2FguB3L4MJuydDre760jn4hXJrl9PhYLl21v144nzL7e31+pY8cOdoDn97m6omVL/l5QCRYelJRbNp/fjH4L+0EIAaPFiAndJuD1Dq+XiCxyBZKbt94CNm1iRWLrIfHllxzpExXleKxOxzb5zp0dny41GqBTJwDA932/x+N3P45wXTiiQ6Pxy8BfXPYh8IQAVQAaVGxgVx4AK5DcPaUtFu4dbaNWLe7AN3x40TKmheCaT7lRq50/m/LCzp3On+v+/Z6Pl8pD4mMsVgv6/NIHqcZUpGSlINOcibc3vI1D1w4B4Na9y48vx+wDsx3aMPgLuQLJzZYtzg7nTZvYTHPgAPD44zwx16rF2dUhIcB99wETJnCEkNkMtG0LzOVOZFqVFj/3/9n/ctuipnJX5C1ExdJC8csvHJqqVPKE2q2b9134Sjs1ajh/rnkVqERSjCSlJzk0uwJYaaw6uQp3RdyFLrO74HDiYc7TAGHFkBUuG2EVFbkCyU2dOo65BhqNvaZUeDg3+UlK4h7KtWvbj3vtNTZjGQxcisLbonreMnAg0L49+zqCgnhFNNdP7TR79OCy6DNncnjw8uVFc5R7SXxKPBYdWYRVp1bBbDW7H+ANgwfbP9fgYP5c583zz7VccP7WeTzy6yOImR6Dt9a/5dD8SnJncSPjRr77jycfxy+Hf8H+K/uRZkxDuikdBpMBw/8Y7ld55AokN5Mmsd3blrtQqRLw0Ueux9hQKLjGU0mgVLJyW7eOw0U7dHDZ6rPIREfzVkLsvLQTvef3hoAAgXB35bux5akt+TaHKhK2z3X9eg5bbt/euROhn0k2JKP1T61xM+MmLGTBv0n/4tytc1g0aFGxyiHxDwaTAZN2TcLJ5JO4N/pePN3iaYdOirYeNbby/dVDqud7nmZVmuHwtcPItDoWIL2cetlPkjNSgeSmRg1WIFOm8OTx6qu88igLKBQ54cPlnWF/DEOaMS3n9aFrhzDnwBw82+pZ319MoeD2uSXE2jNrkWnOzClgmWHOwJJ/l8BoMfpeYUr8QmpWKp78//bOOzqqan3Yz56Z9EqJBAIYepMeUBQR6U0QRSzopUlTUS/cH2BDsQFX5UMEC1wExIJiAYXQO0gLEHpLAqEEQgIhIZnMZMr+/hgyZHLOKEQgEPazVpZk71Pes5Hznv3W355lReIKgn2D+azzZzx5z5PYHDZaft2Sg+kHsdgtzD8wn20p2/iqm6u52fDY4czYOQOJZECjAXze9XOvnTLvjbqX57bd/KhHpUAKkpjoKo+RnzT43Xcup2lkZPHKpfAgNTvV43ezzcyprJKZ6Z3fb6UwhUvQK25d+i7oy7KEZVgdVnLtufRf2J/o8Giy87I5euGoO0rTbDMza9csPmr/EV/GfcmMnTPcjd1m7ZpF5fDK9G/UX/cefxz5Q9Ps7WagfCAFGTECLl50mbByclzmoLfeKm6pFIW4r+J9+BiulFoJ9Ank/kr3F6NEN45O1TsR6heKyeD61gv0CWRg44H4GH3+5kzFrcLyxOVYHVcqWVjtVlYmrXRVlijUM9UgDFjtVmbHz/boCmqTNubEz/Ga9xF/Nt6jRt3NQimQgpw6xYaKTvo8Bv/qCTsi7J5Z3Ipbgu8e+46G5RpiMpgwGUy82epNOlbvWNxi3RDC/MPYOXgn/Rv1p33V9rz78Lt80e2L4harRLAndQ8tZrYgenI0AxYO0CT+XitjV4/F5z0fjOOMNP6yMY7LyceFX+wSSZhfGPdVuI9sWzaFJikbWJZjF45prn/i4glXfx0dMnMzi6VvuzJhFWDl/ZH0CAXzZdPyL3VgrU9lmhWvWG7yHHmMXTOWVUmriA6PZlLHSVQKK6E5GJex2l3b/oJ5LxFBEWwfvJ3svGz8Tf7ur/OSSrngckx/ZHpxi1GiSLmUQsuvW3Ip7xIAP+z7gdTsVBb3WVyk603ZOoX3NlwJuIlPjaf257U5OvwozkLFViUSo8HIO+vf0VzH6rRyMvOkxhmeP1ewlFFBgvyCGP3AaJYkLPEY9yh1dANQO5ACvOu72a08wKVI/mteUXwCFeLpX55mytYpxJ2J47dDvxEzI6ZY7J43i7fXvE3w+GDu+uguYqbHkG5O95gP9g0u8cpDcWNYmbQSm+OKichit7A0YanH2LUwceNEzVjChQQAMqwZmrkf9v5AXEqc7rW2p2z3ep97o+7VHX+s9mM8FP0Q8x6fR7h/OH5GPx6q/BDbB3m/1vVAKZAC5Nm1faatVm1L0eIg15bLwkML3RV5HdJBri2XlUkri1myG8Pvh3/nk82fYHfasTlt7Endw3O/loDaWoqbit1pZ9zacdw74156/tjTnZ190XIRi8PzKz9/ZwCw5dQWhiwawvDY4RxKP+Q+xpxnJnpyND7v+hD5cSRnL50FXLWproWki0me1SQKUL1UdQw6r2aBwN/Hn9davuYx3qxCM15o/gIAT97zJBmjM7C8aWFt/7X4mW5saoFSIAV4onRLT6eWhCfv7lps8hRE6JTFkEh3fHhJY9OJTeTYrtikbU4bW0+7alCZbWae/PlJQsaHEPlxJD/u+7G4xFT8Aw6nH2bzyc1csl7yGHdKJ6eyTnHefP4f32PooqH898//si1lG78f/p1mM5qRmp2Kr9FXN5LN7rSzMmklD816iOk7pjN1+1Qaf9mY/ef2AxAyPoTkzGTs0k5qTirlJ5XHnGe+5uROu9NO0/JNdef8TH688eAbmvH8elcftv2QMyPO8L9H/seeIXvYNmjbNd37elIy3z5FZF0Nz7h6AaytfmuYSPxN/vSp38cdB+5j8CHcP5z2Va+mLeHtx93hd+Nn9Px6qhDiKkM/cOFAfj/8O9l52aTmpDJg4YC/b6yluGWQUjJg4QAaf9WYTt91IvrTaHctp7ScNGpPrU2VT6tQ7uNyPPfrc67e25cZvXI0rWa1YuyasX97H6d0Mjt+trv0h1M6ybXnsvjoYmwOG7JwCBSuf1cDFw4kz3lFIVgcFkYuG8nMHTNx4tScM+iPQbrjf0WFkAq6eUuBpkBqlqnJu23e5dNOn1LavzSl/EsxqcMkJra/YiaLDIlkYJOB1I+8sT6Ov0MpkAIkZiRR8KNECjhy4UjxCVSIr3t8zVut3qJtlbb0bdSXHYN3EOJ3FT0qbkM6V++sKVHyeJ3HAYhNiHXHzoPLfr08cflNlU9RdH4//Ds/7f+JXHsuWdYsLuRe4In5TwDQY14Pjl44it1pxyEdfLv3Wz7b9hkAFT6pwH83/ZcNJzbw3vr3qPFpDfc1j5w/wkuxLzFg4QA2JG9wj+dncudjsVu4YL6ga9qRSPIceZzI0kZeLktaxvrk9brPsyNlB1Eh+hniAP5GbXhtx2odiQ6PZvmzywnzC8MojFQKrcSBFw9guFwa6OV7X+b86PNcGH2Bf7f4t9frFye3xuf1LULBWG33mI5fpLgwGoyMaTmGMS3HFLcoN5zv937vMtsV+EicuWsm4x4eR6hfKFnWLPe4r8mXUgE3uf7YHUZaThqjVoziyAVXyY1xrcddlX39zKUz7D23l4qhFakbUReAw+cPa/6tHb94HNB3IM/ZPYeygWU5k33GYzzhYgJrj60lMjiShl81dJuRvtn9Db/0/oVuNbvp7jKMBiPmPH3f5l9l93tL6nQ6nQxsPJC3173tMV4xxNWBctEzi+jwbQe3MqsXUY8P2nwAQPtq7bk45vYNhFEKpAChftpS594cXYobi8VuweH0bOKV/4KY1mUaT/38lLucR2RwJP0a9SsGKUse3+39jvn751M2sCxvtnqT6PBozDYzzf/XnNNZp7E5bew6s4s9qXuI7RMLgM1hY0nCEqSUdK7eGV+T6yUcezSW3vN7YzKYyHPkMbz5cCa2n0i9iHoa/0PlUFdtNT2fXoApgF1n9Mvo7zizg8VHF3v4IBzSwaA/BpH6n1Tdc/ad2+dVUfzVB2PVMvr15aqUrsLL973MjJ0zSM1JxeF04GvwZfajswFoW7UtF0dfZM3xNUSFRNG0gr7v43ZEKZACdK/VncPnD7ttpoE+gXSv1b2Ypboz6VW3F5O2TPL4u+jb0FVZtHut7mzov4FlicsI8wvjXw3/VWJNeTeCo+eP8uGGD7loucgz9Z/hiXou89Enmz9h7JqxmG1mDMLALwd/Yf8L+9l3bh/pOenuzOhcuyv6L92cjsPpoNqUau6AhwBTAEeHHyUyOJLe83t7BEJM3T6VXnV7YTKYNDuD/OinNtFtWJq41GPu5eYvUymsEh9v/ljzLN1rddf1h6SZ07DYtLkUAEsTlhLoq19TSi9YBVy7j1EtRvHWGm1liq+7f024fzj7XtjHD/t+IDsvm87VO1PvrnruY0L8Qkrku+SGKBAhhD8wCBgJvCOlnC2EaA58DBiBzVLK/wghjMAU4J7L48OklHuv5djrKfebrd4k5VIKc3bPQSB4sdmLDIsZdj1vobhKGkY2ZPEzi/nP8v+Qac3kqXpP8U7rd9zzTSs0LVFfctebPEceEzZOYPPJzdS7qx5vP/Q2IX4hHL94nJgZMWTnZeOUTpYnLSc9N51hMcMYv2G8h8M5Jy+H7/d+T/VS1T0UAbiiiJDQ5fsuHnO59lw6zO3A+v7rPUpxgOslnJSRxLGMYxr/Vn7OxNmcs5pzEjISqBhaUfc5rXYrZruXUHut9QqAbFu21/yhtOw0okKiNFVsW1Zuia+PL/uH7afRl42wSRtGYWTZM8uICnP5P8L8wxgaM1T/piWUG7UDKQfkAt8VGJsOdJdSnhBCrBRC3A9UAgxSyoeEEC2BT4AO13jsdcNkMDH9kel81e0rwPvXiOLm0Dq6NXGD9ZOtFN6RUvLovEdZe3wtufZc1hxfw4qkFcQNimN2/GyyrdnuqCGzzcz7695nWMwwzQvf7rRjd9qRQv9N7MRJ0oUkzXhyZjKlA0rja/T1MC2ZbWbql6vPT/t/0pyTX234yPkjmvHtp7dzMvOkrgxLjizRHQcwGvV9FtFh0TQp34TZu2dr5iqGV+TgCwep/Glld5JulbAqrP7XagDq3lWXvLGqH0s+NyQKS0qZLKX8H2ADEEKUuvznbCHETCAYaAbcDywSQnQH3gBqXcuxevcWQgwWQsQJIeLS0tKKJL8QQikPxQ1h/v751J5am+jJ0by37j1NlND14PSl06w5vsaddGp1WEnKSGJ7ynbOXDqjCTnNf1EWrrMkkZT2L41TOjUmJ4nEZDDp7gwigyNxSqdHyX1wKYPEC4keARCFKdxtD2DjiY0kZui3Zz2YfpDS/tqWCwLh9sUUpmvNrsx6dJbmvOHNhwMQ4h9CxugMnGOdOMc6SXo1yR0ZpfDkZq5KBeBbXGaogjuTN4FGQHfAXoRjPZBSTpdSxkgpYyIiIq7rAygU/4SVSSvpt7Afh88fJjkzmQmbJjBh44R/dM2vd31N4y8b02xGM/44/Afg6ptd2EktEDicDpIytDuG/IzsNLP2g2vX2V26WdHgMh/p7QzOXjqrex+AVcdWsevsNfSVx6UAo8Oideeql6nOY3Ue04zn+x/GtvL0j0QERjCu9TgAzo8+z6KnF/HWg2+RODyRKZ2neByrPiT/npuiQKSUGUA28DywB+gC/AnsAHZJKd8FYoCD13LszZBdobhezN0z1+ML22wzM2f3nL89b0fKDupOq0vpiaXpOa+n+wt+1q5ZDF8ynPjUeOJS4njy5ydZkbiCymGVqRBcweMaRmGkWVQz3b4p+bugwlFv4FIqhc1K+ZiEicw8bQmPHHsO5YPK655z3nzeawitN/yMfrS6u5XuXNMKTXntwdcI9Qt1K7oAUwCfdvoUgHEPj2P5s8sZ0nQIH7T5gDMjz3iUwu9asyvvtnmXqqVvYAfPEsyNcqJXBBbg2klYhRBtgGHAb7jMU8ullNuFEPFAByHEOlw7inwP1LUcq1DcUkgpWZa4jMPph6kbUZf21VzVAkJ8QzBg8DAheeswl8+prFO0mNnC7Z9YcHgBD895mB2DdzB1+1QPhZRrz2X6jum0iGpB4kVPk89F60X2p+73yLAujFEYsUvPjX2FkAqsSNQvKLrp5Cav1zqYrv99d/TCUfx9/Ml15OrO57cpLixDr7q9GLRokEcCabBvMO2qtsNoMLJ76G7+t/N/WOwWnrrnKWIqxLiPa1+tvfvvQHF9uSEKREp5CtcuoTD3FjrOBjyrc/7qqz1WobjVGL5kOLPjZ2N32jEZTAyNGcrHHT5mRIsRzN0z1x0BFegTyIS2niasXFsufiY/dz7E9LjpGuf2zjM7sdgsms6M4FI4U+Om6so1ZtUY0rPTdecAjfIAOJZxjIhgfVNwVGgUfgY/rE7P3AkTJq+K8bz5PI0jG7P6+Grd+QcqPcDGkxs9xoY1G4a/jz8JwxPo8l0Xjmcep0bpGix9dqk7/Dc6PJr327zv9dkUNwblGVIoikhaThq/HPiFJUeXuKONEi8k8vWur8mx5WB1WMmx5TBt2zROZZ2iaqmq7Bqyi5EtRvJS85dY+dxKdyOsU1mnqP9FfULGhxD0YRCzd80G4ILlgu69bU4bF3K1c6eyTmlqiOUjpfT65e+NuJQ4JrTR+mkEgiblm2iUG4ADh64zHFy7Cb2kzzIBZQBY3Xc1rSq3wmQw4Wf0461Wb7lDY6NCo9g9bDeZYzKJGxxH2cCy1/QsiuuPSiRUKIrA/nP7aTmrJQ6nA4mkaqmqbB64mTRzGj5GH3cEFLhKraSb06kYWpEDaQf4ef/PWJ1WKgRXoEWlFgB0/6E7+87tA8Bhd/Bi7IvUL1ef3vV6M237NI97B5gCCPEL8bhHPmeyz9C2Sltdmfs06MP2lO3Y8q6+54XNaWNXqtbpLZGYbWZNuZl8mpRvonu9AY0H8FzD59hxZgdTtk5BIikTUIa4Qa5wbR+jD+v6r7tq+RTFi9qBKG4aFrvlmste3wyc0snkLZPp8l0XXlnyiu6XfWEG/TGITEsml/IukZ2XzZH0I0zZOoW6EXXJsXom3ZmtZmqWqcmvB3/lkR8e4VjmMVIupfD66td5YfELOKVTE5lktpvZcmqLqx+68PzO0yu5k49DOtxmncJY7BZqlK6hO+eNBuUaeG1wdCj9EOWDtc7yiMAIjEYjn3f53GO8a/Wu9G3kqiYwudNknG+7wmTTR6UTXSr6muRS3BooBaK44VjtVh778TGCPwwm8INABv8x+KryH7ad2kbTr5pSfUp13l337j+SIT+5zjDOgGGcgXZz2rlbjT45/0lGLBvBkoQlTNk2hbrT6rpNMMcyjtHum3Y0/KIh76270rL0ROYJD2evxWEhKSOJA+cO4MAzmsmOnWMXjvH8wuc1cn0R94XXni6/HPiFXWd2adbqXM45ryYicIXK6rEyaaXuriWfie08u+r5Gn2JfSaWh6Mf1j3+nrvuIX5oPL6GK/kWJoOJ+KHxgMt34XjLwe4huzG/bmZRn0Waa6gw2dsbZcJS3HBeX/06SxOWurONv9v7HXXK1vnLEtU7z+zkvpn3uV/Sb699m+SLyczsMbNIMgz4fQALDy90/77q+Coe+/Exfuj1Az8f/Nnj2NScVObunku3mt2oNqWaW4Y95/aw9dRWFvVZRNnAsppyFxVDKxKbEKt7/yWJS7ho1a+66m1XlpiRyIG0A5rEP4kkwBSge45RGKldprbuXLVS1bA77RxIP+Axnl/WY9QDo2hXpR1fxH1BVGgUbz74JiajiXZV29G3QV/m7LkScjy181QCfAII8AnA8qaFrae24pAO7q90v4dSMBgMNIhsoCuP4vZHKRDFDWd1jyZW3gAAFO1JREFU0mqPL1+zzczKYyv/UoGMXjFaE845e/fsq1Iga46tYdfZXbSJbkOj8o0AmLd3nua4xQmLvZqr/jz5J9/u+VYjw+KExQAknE/QnLPrzC6CTEGacXAl1xmEwa1EC+KtLlP5kPKk5+hHTZ3PPY9JmDSRU6G+obSu0lp3blTLUSw4tIDYo7Eecw3KXXnBN6nQhBndZ2juN7vnbN55+B0OpB2geYXmlA264sAWQnBfpft05VSUbJQJS6GLUzrZdWYXm09uJtd2bZE7hakcVtnDTONj8PGaWZxPhiVDV6a/o+03bWnzTRtGLh9J4+mNGbPC1TtFry+ElBK7Q7egAYfTD7vbmOqRY8/RjK1MWsmxzGO6xx9MP+hVfr3WqgCdq3WmVKB+n5PS/qV55d5XNOMfdfgIX6Mv8UPjiQh0hd+G+ISwof8GygaWpX+j/nSs3pFAUyAhviFEBEYw73GtctUjOjyaLjW6eCgPxZ2NUiAKDVa7lTZz2vDgrAfp9F0nak2tpZvBXJjz5vO8uvRVes7rybTt09wvzMmdJhPiG4JJmDAZTJQOKM24h8e5z3NKp7s0eD5Vwqtoru/tSz2f3w7+xupjnvkFE/+cSEZuBl2qd9Ec37JySzKt2kxqcDmj80t8XC0Wu0X3PgDda3bHiL5z2xu/HvqV+nfV1/hIBAKLw8J/O/yX0fePJtQ3lHC/cCZ3nMzAJgMBVymPc/93DvtbdrJez6Jl5ZaAq2z6H0//waaBm4jtE0viy4nUKHNtjnWFIh+lQK4jBXs332yy87KZvGUyr696nTXH1vyja3269VO2nd5Gji2HLGsWKZdSGPSHq39zRm4Gnb/tTOAHgUR9EkXs0Vj3/ZtOb8rn2z9nweEFjFoxiuGxruJ0CRcSsDqs2KWrumuWNYsTma62oXEpcZT7uBwVJ1UkbEKY+3p1ytbRyBXie6Xnx9w9c+n2fTf6LuhL4gVX1vWCQwt0n2fLqS263fP8jH7UidDeB+BfDf9FgFHfz+CNAJ8AXr3vVd25fo374eujX9xPL5cCXEqsYWRDTUvUqNAoAn0CMQgDE9pPIPO1TDLGZPDKfdodiV5ElhCCRpGNaFm5peqjovhHKAVyHfgy7ktCPgzB5z0fOn3b6S+rjd4IcvJyqD21NiOWjWD8xvG0n9ueaduu5A7YnXYOpR8i+WKyh5I7lnGMGlNqEPhBILU+q+VuK7rv3D4Pn4VDOjiUdgiAJ+Y/werjLp9GSnYKvX7qxf5z+1mWsIx085WmQ2abma92fIXNYeO1Va95lKDItefy/vr3sdqtdPy2I+nmdHfS3RPznyDlUgop2Sma58yXacLGCfRf0J/FRxfzze5vaPBlA05mnqRKKe2uBaB66er8dug3zfjq46vxMfrQs3ZPj/Ew3zBeav4SZYLKeF3zcD9tp8ouNbpomiHls/b4WsoFldOMmwwmfI2+umasZ+o/Q5PyTRjfbjx+Rj+CfIK4K/AuYp/Rd9QrFDcbpUD+IauPrWbk8pFk27JxSAdrj6+l/8L+N1WGKVuncPrSabed3yEdvLrM9SWcmp3KPZ/fQ8z0GGpPq02vn3rhcDqw2CzUmVaHhIwEcu25HLlwhDpT62C1W4mpEOORzWwQBhqVb4SUkrXH13q2D3U6WHN8DRmWDE3TIad0ukt4Fyb+bDwns05qnNhmm5l95/bx58k/NefkK6G317zt4Yw228xM2DgBIfV9Cd78HFJKHE6He9eTT64jl40nNnrUUyrMB20/8GiL6m/y5/UHX/caJmuxW9wdFQtyX0WX83nxM4s9lEjru1vz+oOvA/DyvS9z7v/OsXfYXk6NOEX9cvW9yqVQ3ExUFNY/ZFXSKo+YfKvDetUmJKd0kmnJJNw//B/Fw+u9bPM7vg36YxBJGUnuncHSxKV8teMrygSUwerwrGFkcVhYfHQxlUMqe8w5pRN/o7+rvHWhL+U8Zx4BpgBdB7FEItCeA64cg4u5+mGtyxOWe3Us59+zMGuPr/VawmPXmV20vrs1y5KWeYw3jmxMpiVTsw55jjy2nNrC+LbjmbdvnocDPr8t6QvNXiDQFMjX8V8T7BvMO63foUG5BlQNr4qPwcfDLOVn9KNjtY70qN2D5Mxk5uyeg5SSmAoxrHrOlbPRuUZnnG87SctJo3RAaY3pKdQv9C8TCBWK4kDtQP4h5YLL4W/ytFGXDrjSqGbxkcX0W9CPEctGcDrrSt5A7NFYwiaEEflxJOU/KU/82fgiy+AtEQ1cX/oFX2Zmm5ltp7d5jQiSTsmzC7Q1K+ftd0Xq6BXci0uJ8xoOK4TQzX84cfEE8/bpR//EJsTy9D1Pa8bLBniP/knOTMbfx193zmwzu81zBTl76az24MsYhZG7w+/m4IsHub/i/dQsU5MxLcew8KkruST9Gvdjff/1xPaJpXlUcwCC/YKJHxJPxZCK+Bp8qRxWmb3D9rpl+7rH1zjGOnC+7WTboG2apkcRQRFeM8kVilsNpUAKkW5O5/u93zNv37yr8mUMbDyQKuFVCPIJIsAUQKBPINMfmQ7AzJ0z6f1zb+bsnsOUrVNo+GVDzmaf5XTWaZ6Y/wTZednkOfNIzUml/dz22ByuF/17694jbHwYIR+G8O+lV3IlpJTM3z+fFxe/yEebPnLvfBqWa+hVvjD/MM1YZHCkV+dpiF+Ih7+iIPmZ24XZeGIjW05t0Z3LtmbrhtDmOnKJDo/WPSfYN5hhzYYRaPKs6Dqp4yTd48GlREc/MFp37un6T3POfE4znmHNIDwgXJOU52vw5YHKDwBQq2wtNg3cxOGXDjO+7Xiv9y9I3bvqcnLESaxvWUl+NVlFOSlKLMqEVYBjGcdoNqMZVrsVhMtssHPwTsoFa52f+QT5BrFj8A5+OfgLWdYs2lZpS62yrm67b65+0/2Sd0gHmZZM5sTPoUG5BprmPVmWLE5fOs2P+35k7NorXdQmb52MEIJJHSfxxuo3mLJ1Cjm2HPxN/szdM5ftg7bj56M13eQ310m9pC35nZKVQlq2frvfNHMaZQPKkmrWnueNAJ8A3dLioJ9/kU8pf/0ch2qlqrE+eT0FrVgmYWLunrk81/A53XNqlq5Jj9o96Nuwr0eTpqmdphLkF0ST8k00JT7qRtTFIAz83Ptnev3Uy216Gtx0MPdWvLfwLRQKRSGUAinAq0tfJcOS4TbvWOwWxq4Zy1ePfAW4ekcnXkikYmhFD6US4BPAsw20Zp/CyXB2aedU1inqRNTR2t2deQT5BDF5y2TNdWbsnMGEdhP46M+P3L4Ni93CsYvHWJ64HOnUvqTzfSppuVpFEZsQy9P1tSYigMigSGqXrU3qCU+FEGAM8NoXumaZml5NWE7pxCiMmgzsYJ9gr87glpVbsvnUZg/fkl3aiUtxVWwN9wvXmMV61+sNwOxHZzP70dmaay56ZhG1ptZyhw+XCyrHyudWAq7oqSPDj7A3dS9RoVEemdkKhcI7SoEU4FTWKQ/fgN1pJzkzGYBlCct4/KfHMRqM5Dny+H8d/h9Dm7n6FJhtZubvn0+WNYt2Vdu5cwv04vuTMpLwMfhoSk34GHzIzsv2KptevSSBIMeWo2sz/6sv/0vWS1QKq6Q7FxUWxb60fZpxi8PiNc+lcWRjsqxZLElYopkL9w+ntH9pjSK7O/xu7il3D5VCK3Ey60pf7UBTIP0a9WPunrkEmgIx268okYqhFQGY1GkSLyx6AYvDgkEYKONfhv6N/zryzd/kT/KryaRmp+KQDiqEeLZ8rRha0X19hUJxdSgfSAHaV2vvEcnjb/KnY7WOWOwWHv/pcXdincVuYcTyESReSCQ7L5s6U+sw4PcBvLL0FRp82YDlicsB/cTC7LxsokKjNM5ou9NOhZAKBPsGa87xM/gR7BtM86jmbtMUuJTEQ3c/xLGL2vIZf1X2I8+ZR06ethQHuHJK9HwgEuk1Umx7ynZea/maRvYetXrgY/TR9XXUKlMLgzCwZ9geetXpRVRIFO2qtOPQS4cI8g1iQOMBNKnQhGDfYEL9QgnzC+Obnt8A0L9RfxY8tYAhTYcw5oEx7H1hLxFB+l3zClMuuJxGeSgUiqKhdiAFaF+1PR//+bH7d7vTTuvo1qRcSnE7uPNxOB0cOX+EGTtncCLrhMc5vef35uKYi5TyL6XpKNexekdWJWrLbUskR84fITFDmzNx3nIecCW4FazMKqTA3+TPyqSV1/ys+c2LCnMo/RBlAspocjoEwqsT3e604+/jz9mRZ3kp9iVOZJ6gS40ujLx/JAD/bvFvnv/jebdJKsAUwAvNXgBcO5T5vedrrulr9GVt37WsT15PljWLFpVacFfQXe75jtU7urv5KRSK4kEpkAK8v/59D1u93Wln4qaJfNb5M03uQZ4zD4lk8eHFmuvk11fSq7OUnJFMmlnfgX0y86RX01OuLZcliZ4moku2S8zbN+8ve0PoIRBsOLFBd25d8jq61OjClzu+9BivUboGBoOBIJ8gjXLpWceVyR3kG8SsR2dprvl0/acRQjB5y2R8DD680eoN2lbV75pXEKPByMNV9HtRKBSK4keZsAqwNnmtZuzH/T962OgLsjFpI0cuHPF6Pb3S3bPiZ5Geq1+iO+WStnxHPmeyzuiOf7jhQ5pVaOb1PD0qh1Xm0VqP6s71rN2T/3vg/wjxDXEn8wUYA9whtH8O/JNAnyvhtUOaDqFP/T5/e8+n7nmKLc9vYcOADXSq3uma5FUoFLcmagdyFXyw9gPd8UnbJl1VifGC2KTNFSasQ8HOboXxtmsBeK7hcyw+uthj95Jfq6lTtU6a+kyvP/g6j9Z5lLpl63o0F6ofUZ/ONToDED80ns+3f47ZZqZP/T7uvIgG5RqQ83oOubZc/Ix+XiOzFApFyUcpkKtgb+pe3XGr00pUcBSns0/rzuthwEDtiNpsS9mmmSsVWEpTBiP/nHsr6ecljG45msfrPE67qu3YdGIT4HKg//TET4ArfLXHDz1YcWwFRmHkjQffYHDTwQDsf3E/Cw8t5LdDv/F4ncd5pNYj7utWLVWVjzt8rL3hZQJ8rq1SrUKhKHkoBXIVlAkqw9HMo5pxI0aebfgsEzd59pIOMHh/ud4dfjej7h/FN7u/0cx1qt6JX5/4lUd+fMRj/POunwOw6OlFdPuhm3v88TqP81LzlwBY+uxSViatJN2cTouKLdyVaY0Go24v6nx61O5Bj9o9vM4rFAqFN5T94Sp49+F3dcdbVm5Jv0b9PEpu+Bn9GPmAK/poaMxQzTnbnt9GvbvqMfORme4aVr5GXzb134SP0YdutbsRPySemPIxNIlswrq+6xgSMwSArjW7It+W7p+fe1/p5W0QBjpU68Az9Z/xWtZcoVAorieiOJsgXStCCCMwBbgHMALDpJT69iUgJiZGxsXFXfX1S08srcker16qOkdfPkrwB8GaNqbybdfaxaXEMWrFKC5aLvL0PU8z8v6RbuWw4NACJm6aSERgBN8/9j3Bfto8D4VCobiVEELskFJ672eQf9xtpkCeBFpLKYcJIVoCY6WUHbwdf60KBCB6UjTJl1zZ5w3KNWD30N3uufHrxvPVzq/oWrMr07pO83YJhUKhuK0pqQrkU2A5l3cfQF0p5d3eji+KAlEoFIo7natVILejD+RNoBHQHdA0pxBCDBZCxAkh4tLSvIe+KhQKheKfcbspkB3ALinlu0AMcLDwAVLK6VLKGCllTETE1dVHUigUCsW1c7uF8f4AdBBCrMO1+9CGOSkUCoXipnBbKRAppQ3QNt5QKBQKxU3ndjNhKRQKheIWQSkQhUKhUBSJ2yqM91oRQqQByTfxlmUB/VK7dxZqHVyodbiCWgsXt8s63C2l/NsopBKtQG42Qoi4q4mdLumodXCh1uEKai1clLR1UCYshUKhUBQJpUAUCoVCUSSUArm+TC9uAW4R1Dq4UOtwBbUWLkrUOigfiEKhUCiKhNqBKBQKhaJIKAWiUCgUiiKhFEgREUIECiG+FUKsEUJsFULUEkI0F0KsF0JsEkJ4byheAhFCLLu8FpuFEPXv1LUQQrwkhLALIaLv1DUAEEJYhBBrL//0vFPX4vJzLxFCrBZCDCxx6yClVD9F/AGqXf7vYOBTIB6ofHlsJXB/cctYDGsyFhhyJ64FUAVYBqwHou/ENSiwFscL/X7HrQUQAmwGIkrqOqgdyD9ASpl4+Y8VgAuADcgWQswEgoFmxSXbzUYI0VUIEQf8C1jEHbYWQggBfAYMB5xAKe6wNSiE/fKX9q9CiKbcmWvxIOALzBFCbBBC9KWErcNtVY33VkQI8SjQGHge107kW+A1oBV3kIlQSrkYWCyE6AJ8iUup3klrMRhYLaU84tIlwJ23Bm6klNUBhBCPAe9zZ65FKBAnpRwihIgAtuFSKCVmHW5r4YsbIcRA4AngCSllGpCNS5HsAboAfxajeMXFRcDMnbcWjwCPCiHW4uqY+QWul+adtAZ6COAYd97/DwBHgfyW23lADiVsHdQOpIgIIWJwJQVtApYLIfJw9Wn/Ddc2dbmUcnsxinjTEEJUAWYDFiALeBWoxR20FlLKbvl/vqxE+gFVuYPWIB8hxF3AL4AVOAe8CPzMHbYWUsodQohDQog/cT33K4CkBK2DSiRUKBQKRZFQJiyFQqFQFAmlQBQKhUJRJJQCUSgUCkWRUApEoVAoFEVCKRCFQqFQFAmlQBQKhUJRJJQCUSgUCkWRUApEobhBCCFWXq4HtUsI0UoI0VEIseXy73lCiDcuHzfq8nHbhBDti1tuheJqUYmECsUNQghhklLahRCtgKG4MvVn4qrQmgA0BaKAiVLKrkKIssAqKWXDYhNaobgGVCkTheIGIITwA6YIIWoBQcBp4BDwAWAE/ielzBBCdADqXS5/AhBQHPIqFEVBKRCF4sbQBQiWUrYWQnTDVUCvHdBNSplV4LhEXIX1ekhlDlDcZigfiEJxY4gD6gohVgL5fo2dwNbLnRu/F0LUklLGAfuAzUKIVUKID4tLYIXiWlE+EIXiJiGEOArcK6W8IIQYjquj5avFLZdCUVSUCUuhuHn8ASwSQuTi6lr4YjHLo1D8I9QORKFQKBRFQvlAFAqFQlEklAJRKBQKRZFQCkShUCgURUIpEIVCoVAUCaVAFAqFQlEklAJRKBQKRZH4/3s4eReYLODjAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 年龄和保险额之间的闪点图(红色是吸烟)\n",
    "df_male_insur.plot.scatter(\n",
    "    'age', 'charges',\n",
    "    c=['g' if x else 'r' for x in df_male_insur.smoker == 'no'],\n",
    "    label='male')\n",
    "\n",
    "df_female_insur.plot.scatter(\n",
    "    'age', 'charges',\n",
    "    c=['g' if x else 'r' for x in df_female_insur.smoker == 'no'],\n",
    "    label='female')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7efe300d6fd0>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 吸烟对保险额影响不小, 暂时去掉\n",
    "df_male_insur_no_smoker = df_male_insur[df_male_insur.smoker == 'no']\n",
    "df_male_insur_no_smoker.plot.scatter('age', 'charges')\n",
    "# 从图可以了解到除了年龄, 还有其他因素影响"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 方法1: scipy.polytfit"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([  264.93170273, -2261.52976897])"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nd_r_d1 = polyfit(df_male_insur_no_smoker['age'], df_male_insur_no_smoker['charges'], deg=1)\n",
    "nd_r_d1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7efe3009f4e0>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "nd_r_charges_by_age = polyval(nd_r_d1, df_male_insur_no_smoker['age'])\n",
    "plt.scatter(df_male_insur_no_smoker['age'], nd_r_charges_by_age)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 方法2:scipy.stats.linregress"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinregressResult(slope=264.9317027297566, intercept=-2261.529768969891, rvalue=0.6345493898059457, pvalue=1.319799944565052e-59, stderr=14.219301240416462)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lr_result = stats.linregress(df_male_insur_no_smoker['age'], df_male_insur_no_smoker['charges'])\n",
    "lr_result "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "# plt.scatter(\n",
    "#     df_male_insur_no_smoker['age'],\n",
    "#     polyval((lr_result.slope, lr_result.intercept), df_male_insur_no_smoker['age'])\n",
    "# )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 方法3: curve_fit"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([  264.93170513, -2261.52982725]),\n",
       " array([[ 2.02188524e+02, -7.89786714e+03],\n",
       "        [-7.89786714e+03,  3.48914441e+05]]))"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def fcall(x, a, b):\n",
    "    return (a*x + b);\n",
    "tup_result = optimize.curve_fit(\n",
    "    f=fcall,\n",
    "    xdata = df_male_insur_no_smoker['age'],\n",
    "    ydata = df_male_insur_no_smoker['charges'],\n",
    "    method = 'lm'\n",
    ")\n",
    "tup_result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7efe2fd8a908>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(\n",
    "    df_male_insur_no_smoker['age'],\n",
    "    [fcall(x, tup_result[0][0], tup_result[0][1]) for x in df_male_insur_no_smoker['age']]\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 方法4: numpy.linalg.lstsq"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[18.,  1.],\n",
       "       [28.,  1.],\n",
       "       [33.,  1.],\n",
       "       [32.,  1.],\n",
       "       [37.,  1.]])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# B = Ax : x = (a, b)\n",
    "# df_male_insur_no_smoker['age'].size, df_male_insur_no_smoker.index.size # size一样\n",
    "# df_male_insur_no_smoker['age'].size, df_male_insur_no_smoker.size # size 不一样\n",
    "A = np.vstack((df_male_insur_no_smoker['age'], np.ones(df_male_insur_no_smoker['age'].size))).T\n",
    "A[0:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([  264.93170273, -2261.52976897]),\n",
       " array([1.07590379e+10]),\n",
       " 2,\n",
       " array([944.79529816,   7.73592762]))"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tup_result = np.linalg.lstsq(a = A, b = df_male_insur_no_smoker['charges'], rcond=None)\n",
    "tup_result "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 方法5: statsmodels.OLS"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>const</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>18</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>28</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>33</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>32</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>37</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   age  const\n",
       "1   18    1.0\n",
       "2   28    1.0\n",
       "3   33    1.0\n",
       "4   32    1.0\n",
       "8   37    1.0"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X = sm.add_constant(df_male_insur_no_smoker['age'], prepend=False) # prepend=False, 常数1追加到列的后面\n",
    "X[0:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "age       264.931703\n",
       "const   -2261.529769\n",
       "dtype: float64"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ols_model = sm.OLS(endog=df_male_insur_no_smoker['charges'], exog=X)\n",
    "ols_result = ols_model.fit()\n",
    "ols_result.params "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "        <td>Model:</td>               <td>OLS</td>         <td>Adj. R-squared:</td>      <td>0.401</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <td>Dependent Variable:</td>      <td>charges</td>            <td>AIC:</td>         <td>10183.1335</td>\n",
       "</tr>\n",
       "<tr>\n",
       "         <td>Date:</td>        <td>2018-12-10 20:04</td>        <td>BIC:</td>         <td>10191.6296</td>\n",
       "</tr>\n",
       "<tr>\n",
       "   <td>No. Observations:</td>         <td>517</td>         <td>Log-Likelihood:</td>     <td>-5089.6</td> \n",
       "</tr>\n",
       "<tr>\n",
       "       <td>Df Model:</td>              <td>1</td>           <td>F-statistic:</td>        <td>347.1</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "     <td>Df Residuals:</td>           <td>515</td>       <td>Prob (F-statistic):</td>  <td>1.32e-59</td> \n",
       "</tr>\n",
       "<tr>\n",
       "      <td>R-squared:</td>            <td>0.403</td>            <td>Scale:</td>        <td>2.0891e+07</td>\n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "    <td></td>       <th>Coef.</th>   <th>Std.Err.</th>    <th>t</th>     <th>P>|t|</th>   <th>[0.025</th>     <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>age</th>    <td>264.9317</td>   <td>14.2193</td> <td>18.6318</td> <td>0.0000</td>  <td>236.9967</td>   <td>292.8667</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>const</th> <td>-2261.5298</td> <td>590.6898</td> <td>-3.8286</td> <td>0.0001</td> <td>-3421.9877</td> <td>-1101.0718</td>\n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "     <td>Omnibus:</td>    <td>352.872</td>  <td>Durbin-Watson:</td>     <td>2.012</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <td>Prob(Omnibus):</td>  <td>0.000</td>  <td>Jarque-Bera (JB):</td> <td>2661.799</td>\n",
       "</tr>\n",
       "<tr>\n",
       "       <td>Skew:</td>      <td>3.138</td>      <td>Prob(JB):</td>       <td>0.000</td> \n",
       "</tr>\n",
       "<tr>\n",
       "     <td>Kurtosis:</td>   <td>12.175</td>   <td>Condition No.:</td>      <td>122</td>  \n",
       "</tr>\n",
       "</table>"
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary2.Summary'>\n",
       "\"\"\"\n",
       "                  Results: Ordinary least squares\n",
       "===================================================================\n",
       "Model:              OLS              Adj. R-squared:     0.401     \n",
       "Dependent Variable: charges          AIC:                10183.1335\n",
       "Date:               2018-12-10 20:04 BIC:                10191.6296\n",
       "No. Observations:   517              Log-Likelihood:     -5089.6   \n",
       "Df Model:           1                F-statistic:        347.1     \n",
       "Df Residuals:       515              Prob (F-statistic): 1.32e-59  \n",
       "R-squared:          0.403            Scale:              2.0891e+07\n",
       "--------------------------------------------------------------------\n",
       "         Coef.     Std.Err.     t     P>|t|     [0.025      0.975]  \n",
       "--------------------------------------------------------------------\n",
       "age      264.9317   14.2193  18.6318  0.0000    236.9967    292.8667\n",
       "const  -2261.5298  590.6898  -3.8286  0.0001  -3421.9877  -1101.0718\n",
       "-------------------------------------------------------------------\n",
       "Omnibus:             352.872       Durbin-Watson:          2.012   \n",
       "Prob(Omnibus):       0.000         Jarque-Bera (JB):       2661.799\n",
       "Skew:                3.138         Prob(JB):               0.000   \n",
       "Kurtosis:            12.175        Condition No.:          122     \n",
       "===================================================================\n",
       "\n",
       "\"\"\""
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ols_result.summary2()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 方法6: 求伪逆矩阵"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([  264.93170273, -2261.52976897])"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "A = np.vstack((df_male_insur_no_smoker['age'], np.ones(df_male_insur_no_smoker['age'].size))).T\n",
    "# 摩尔－彭若斯广义逆, ( Moore-Penrose pseudo inverse)\n",
    "A_inv = np.linalg.pinv(A)\n",
    "result = A_inv.dot(df_male_insur_no_smoker['charges'])\n",
    "result"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 方法7: 求矩阵的逆\n",
    "\n",
    "Ax = B -> $(A^TA)^{-1}x = (A^TA)^{-1}A^TB$\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([  264.93170273, -2261.52976897])"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result = np.dot((np.dot(np.linalg.inv(np.dot(A.T, A)), A.T)), df_male_insur_no_smoker['charges'])\n",
    "result"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 方法8: sklearn.linear_model.LinearRegression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([264.93170273,   0.        ]), -2261.5297689698964)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lm = LinearRegression()\n",
    "lm.fit(A, df_male_insur_no_smoker['charges'])\n",
    "lm.coef_, lm.intercept_"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.4.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
